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

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

csx преди 2 години
родител
ревизия
482f9c2c4c
променени са 26 файла, в които са добавени 2021 реда и са изтрити 1604 реда
  1. 31 36
      src/api/common/common.js
  2. 17 0
      src/api/stock.js
  3. 1 1
      src/store/getters.js
  4. 8 1
      src/store/index.js
  5. 39 0
      src/store/modules/pagedata.js
  6. 4 1
      src/xt_pages/DepositManagement/DeductionDetailsSummary.vue
  7. 13 3
      src/xt_pages/DepositManagement/DepositRefund.vue
  8. 4 1
      src/xt_pages/DepositManagement/RechargeDetailsSummary.vue
  9. 5 1
      src/xt_pages/DepositManagement/Template/RechargeDetails.vue
  10. 1 1
      src/xt_pages/DepositManagement/print/printindex.vue
  11. 11 1
      src/xt_pages/data/components/addDrugs.vue
  12. 8 5
      src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue
  13. 30 17
      src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue
  14. 3 3
      src/xt_pages/hospitalStation/invoiceTemplate/printThree.vue
  15. 9 1
      src/xt_pages/outpatientCharges/components/chargeDialog.vue
  16. 383 238
      src/xt_pages/outpatientTool/components/detailStatistics.vue
  17. 1019 1095
      src/xt_pages/outpatientTool/components/gatherStatistics.vue
  18. 16 17
      src/xt_pages/outpatientTool/detailPrint.vue
  19. 9 10
      src/xt_pages/outpatientTool/gatherPrint.vue
  20. 257 161
      src/xt_pages/outpatientTool/statistics.vue
  21. 1 2
      src/xt_pages/stock/Dialog/manufacturerOrDealerDialog.vue
  22. 62 1
      src/xt_pages/stock/config/dealer.vue
  23. 60 1
      src/xt_pages/stock/config/manufacturer.vue
  24. 1 1
      src/xt_pages/stock/drugs/drugStockInOrderAdd.vue
  25. 2 1
      src/xt_pages/stock/drugs/drugStockOutOrderAdd.vue
  26. 27 5
      src/xt_pages/user/doctorAdvice.vue

+ 31 - 36
src/api/common/common.js Целия файл

@@ -48,7 +48,6 @@ export function getConfigurationList(limit, page) {
48 48
 }
49 49
 
50 50
 export function getConfigurationDetail(id, params) {
51
-
52 51
   return request({
53 52
     url: 'com/api/getconfigurationdetail?id=' + id,
54 53
     method: 'get',
@@ -134,14 +133,13 @@ export function DeleteCheck(id, params) {
134 133
   })
135 134
 }
136 135
 
137
-export function getDialysisModeType(startime, endtime,lapsetotype,sourcetype) {
136
+export function getDialysisModeType(startime, endtime, lapsetotype, sourcetype) {
138 137
   const params = {
139 138
     startime: startime,
140 139
     endtime: endtime,
141
-    lapsetotype:lapsetotype,
142
-    sourcetype:sourcetype,
140
+    lapsetotype: lapsetotype,
141
+    sourcetype: sourcetype
143 142
   }
144
-  console.log("parasm22222",params)
145 143
   return request({
146 144
     url: '/com/api/getdialysismodetype',
147 145
     method: 'get',
@@ -149,12 +147,12 @@ export function getDialysisModeType(startime, endtime,lapsetotype,sourcetype) {
149 147
   })
150 148
 }
151 149
 
152
-export function getTotalLapseCount(startime, endtime,lapsetotype,sourcetype) {
150
+export function getTotalLapseCount(startime, endtime, lapsetotype, sourcetype) {
153 151
   const params = {
154 152
     startime: startime,
155 153
     endtime: endtime,
156
-    lapsetotype:lapsetotype,
157
-    sourcetype:sourcetype,
154
+    lapsetotype: lapsetotype,
155
+    sourcetype: sourcetype
158 156
   }
159 157
   console.log('转归params', params)
160 158
   return request({
@@ -164,12 +162,12 @@ export function getTotalLapseCount(startime, endtime,lapsetotype,sourcetype) {
164 162
   })
165 163
 }
166 164
 
167
-export function getTotalSexCount(startime, endtime,lapsetotype,sourcetype) {
165
+export function getTotalSexCount(startime, endtime, lapsetotype, sourcetype) {
168 166
   const params = {
169 167
     startime: startime,
170 168
     endtime: endtime,
171
-    lapsetotype:lapsetotype,
172
-    sourcetype:sourcetype,
169
+    lapsetotype: lapsetotype,
170
+    sourcetype: sourcetype
173 171
   }
174 172
   return request({
175 173
     url: '/com/api/gettotalsexcount',
@@ -178,12 +176,12 @@ export function getTotalSexCount(startime, endtime,lapsetotype,sourcetype) {
178 176
   })
179 177
 }
180 178
 
181
-export function getTotalInfectiousCount(startime, endtime,lapsetotype,sourcetype) {
179
+export function getTotalInfectiousCount(startime, endtime, lapsetotype, sourcetype) {
182 180
   const params = {
183 181
     startime: startime,
184 182
     endtime: endtime,
185
-    lapsetotype:lapsetotype,
186
-    sourcetype:sourcetype,
183
+    lapsetotype: lapsetotype,
184
+    sourcetype: sourcetype
187 185
   }
188 186
   console.log('传染病', params)
189 187
   return request({
@@ -193,12 +191,12 @@ export function getTotalInfectiousCount(startime, endtime,lapsetotype,sourcetype
193 191
   })
194 192
 }
195 193
 
196
-export function getTotalAgeCount(startime, endtime,lapsetotype,sourcetype) {
194
+export function getTotalAgeCount(startime, endtime, lapsetotype, sourcetype) {
197 195
   const params = {
198 196
     startime: startime,
199 197
     endtime: endtime,
200
-    lapsetotype:lapsetotype,
201
-    sourcetype:sourcetype,
198
+    lapsetotype: lapsetotype,
199
+    sourcetype: sourcetype
202 200
   }
203 201
   return request({
204 202
     url: '/com/api/gettotalagecount',
@@ -207,12 +205,12 @@ export function getTotalAgeCount(startime, endtime,lapsetotype,sourcetype) {
207 205
   })
208 206
 }
209 207
 
210
-export function getTotalDialysisCount(startime, endtime,lapsetotype,sourcetype) {
208
+export function getTotalDialysisCount(startime, endtime, lapsetotype, sourcetype) {
211 209
   const params = {
212 210
     startime: startime,
213 211
     endtime: endtime,
214
-    lapsetotype:lapsetotype,
215
-    sourcetype:sourcetype,
212
+    lapsetotype: lapsetotype,
213
+    sourcetype: sourcetype
216 214
   }
217 215
   return request({
218 216
     url: '/com/api/gettotaldialysiscount',
@@ -525,31 +523,28 @@ export function getIdSlist(data, patientid) {
525 523
   })
526 524
 }
527 525
 
528
-
529
-export function getTreatModeList(params){
530
-  console.log("params",params)
526
+export function getTreatModeList(params) {
527
+  console.log('params', params)
531 528
   return request({
532
-    url:"/com/api/getreatmodelist",
533
-    method:"get",
534
-    params:params,
529
+    url: '/com/api/getreatmodelist',
530
+    method: 'get',
531
+    params: params
535 532
   })
536 533
 }
537 534
 
538
-export function getCountModeId(params){
535
+export function getCountModeId(params) {
539 536
   return request({
540
-    url:'/com/api/getcountmodeid',
541
-    method:"Get",
542
-    params:params
537
+    url: '/com/api/getcountmodeid',
538
+    method: 'Get',
539
+    params: params
543 540
   })
544 541
 }
545 542
 
546
-export function getRolloutCount(params){
547
-
543
+export function getRolloutCount(params) {
548 544
   return request({
549
-    url:"/com/api/getrolloutcount",
550
-    method:"Get",
551
-    params:params
545
+    url: '/com/api/getrolloutcount',
546
+    method: 'Get',
547
+    params: params
552 548
   })
553 549
 }
554 550
 
555
-

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

@@ -56,6 +56,7 @@ export function modifyManufacturer(params) {
56 56
   })
57 57
 }
58 58
 
59
+
59 60
 export function getManufacturerList(params) {
60 61
   return request({
61 62
     url: '/api/stock/manufacturer/list',
@@ -993,3 +994,19 @@ export function getGoodDetailSummary(params) {
993 994
     params: params
994 995
   })
995 996
 }
997
+
998
+export function getdealername(params) {
999
+  return request({
1000
+    url: '/api/stock/dealer/getdealername',
1001
+    method: 'Get',
1002
+    params: params
1003
+  })
1004
+}
1005
+
1006
+export function getmanufacturername(params) {
1007
+  return request({
1008
+    url: '/api/stock/manufacturer/getmanufacturername',
1009
+    method: 'get',
1010
+    params: params
1011
+  })
1012
+}

+ 1 - 1
src/store/getters.js Целия файл

@@ -19,7 +19,7 @@ const getters = {
19 19
   configlist: state => state.data.configlist,
20 20
 
21 21
   dictionary_configlist: state => state.data.dictionary_configlist,
22
-
22
+  pagedata:state => state.pagedata,
23 23
 
24 24
   xt_permission: state => state.xt_permission,
25 25
   xt_user: state => state.xt_user,

+ 8 - 1
src/store/index.js Целия файл

@@ -14,9 +14,14 @@ import getters from './getters'
14 14
 import data from './modules/data'
15 15
 import temp_params from './modules/temp_params'
16 16
 
17
+import pagedata from './modules/pagedata'
18
+
17 19
 Vue.use(Vuex)
18 20
 
19 21
 const store = new Vuex.Store({
22
+
23
+  mutations:{
24
+  },
20 25
   modules: {
21 26
     app,
22 27
     errorLog,
@@ -28,9 +33,11 @@ const store = new Vuex.Store({
28 33
     xt_permission,
29 34
     xt_role_temps,
30 35
     global_config,
31
-    temp_params
36
+    temp_params,
37
+    pagedata
32 38
   },
33 39
   getters
40
+
34 41
 })
35 42
 
36 43
 // store.dispatch("InitAdminUserInfo")

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

@@ -0,0 +1,39 @@
1
+
2
+const pagedata = {
3
+    state: {
4
+        list:{
5
+        limit: 10,
6
+        page: 1,
7
+        keywords: '',
8
+        start_time: '',
9
+        end_time: '',
10
+        type: '',
11
+        p_type: 2,
12
+        sort_type: '' ,
13
+        patient_id:0
14
+        },
15
+        pagestate:""
16
+        
17
+        
18
+    },
19
+
20
+    mutations: {
21
+        SET_PAGEDATA: (state, pagedata) => {
22
+            state.list = pagedata
23
+            console.log(pagedata,'store里面的pagedata')
24
+        },
25
+        SET_PAGENAME: (state, pagedata) => {
26
+            state.pagestate = pagedata
27
+            console.log(state,'store里面的pagestate')
28
+        },
29
+    },
30
+
31
+    actions: {
32
+        UPDATE_PAGEDATA({commit},param ){
33
+            commit('SET_PAGEDATA',param)
34
+        }
35
+
36
+    }
37
+}
38
+
39
+export default pagedata

+ 4 - 1
src/xt_pages/DepositManagement/DeductionDetailsSummary.vue Целия файл

@@ -105,5 +105,8 @@ export default {
105 105
   },
106 106
 };
107 107
 </script>
108
-<style>
108
+<style lang="scss" scoped>
109
+/deep/ .el-tabs__header{
110
+margin: 0 0 -15px;
111
+}
109 112
 </style>

+ 13 - 3
src/xt_pages/DepositManagement/DepositRefund.vue Целия файл

@@ -13,7 +13,7 @@
13 13
               新增
14 14
             </el-button>
15 15
             <el-button size="small" type="primary" @click="pass_exam">
16
-              审核通过
16
+              批量审核
17 17
             </el-button>
18 18
             <el-button size="small" type="warning" @click="reject_exam">
19 19
               审核拒绝
@@ -144,6 +144,12 @@
144 144
           </el-table-column>
145 145
           <el-table-column label="操作" align="center" width="350px">
146 146
             <template slot-scope="scope">
147
+              <el-button
148
+                size="small"
149
+                type="primary"
150
+                @click="examine(scope.row, scope.row.$index)"
151
+              >审核
152
+              </el-button>
147 153
               <el-button
148 154
                 size="small"
149 155
                 type="primary"
@@ -270,6 +276,10 @@ export default {
270 276
         this.search()
271 277
       })
272 278
     },
279
+
280
+    examine(){
281
+
282
+    },
273 283
     updaterefundtype(){
274 284
       console.log("refundtype",this.refundtype)
275 285
     },
@@ -396,7 +406,7 @@ export default {
396 406
     // 审核通过
397 407
     pass_exam() {
398 408
       if(this.multipleSelection.length < 1){
399
-        alert("未选择任何信息")
409
+        this.$message.error("未选择任何信息")
400 410
         return
401 411
       }
402 412
       var tmp = "";
@@ -422,7 +432,7 @@ export default {
422 432
     // 审核拒绝
423 433
     reject_exam() {
424 434
       if(this.multipleSelection.length < 1){
425
-        alert("未选择任何信息")
435
+        this.$message.error("未选择任何信息")
426 436
         return
427 437
       }
428 438
       var tmp = "";

+ 4 - 1
src/xt_pages/DepositManagement/RechargeDetailsSummary.vue Целия файл

@@ -138,5 +138,8 @@ export default {
138 138
   },
139 139
 };
140 140
 </script>
141
-<style>
141
+<style lang="scss" scoped>
142
+/deep/ .el-tabs__header{
143
+margin: 0 0 -15px;
144
+}
142 145
 </style>

+ 5 - 1
src/xt_pages/DepositManagement/Template/RechargeDetails.vue Целия файл

@@ -99,6 +99,7 @@
99 99
         </el-table-column>
100 100
         <el-table-column label="操作" align="center" width="350px">
101 101
           <template slot-scope="scope">
102
+            <span v-if="scope.row.trial_status != 1">
102 103
             <el-button
103 104
               size="small"
104 105
               type="primary"
@@ -106,6 +107,8 @@
106 107
             >
107 108
               审核
108 109
             </el-button>
110
+            </span>
111
+           
109 112
             <span v-if="scope.row.trial_status == 1">
110 113
             <el-button
111 114
               size="small"
@@ -253,5 +256,6 @@ export default {
253 256
   },
254 257
 };
255 258
 </script>
256
-<style>
259
+<style lang="scss" scoped>
260
+
257 261
 </style>

+ 1 - 1
src/xt_pages/DepositManagement/print/printindex.vue Целия файл

@@ -36,7 +36,7 @@
36 36
                 >¥{{money}}</div>
37 37
               </div>
38 38
               <div style="display: flex; padding: 0 30px">
39
-                <div>收款由:</div>
39
+                <div>收款由:</div>
40 40
                 <div style="width: 86%; border-bottom: 1px solid #000"><span>预交押金</span></div>
41 41
               </div>
42 42
             </div>

+ 11 - 1
src/xt_pages/data/components/addDrugs.vue Целия файл

@@ -404,7 +404,7 @@
404 404
                 </div>
405 405
             </el-tab-pane>
406 406
             <el-tab-pane label="扩展数据" name="second">
407
-                <el-form :model="form" label-width="120px"
407
+                <el-form :model="form" label-width="130px"
408 408
                          style="display: flex;flex-wrap: wrap;justify-content: space-between;">
409 409
 
410 410
                     <el-form-item label="标签:" prop="label">
@@ -470,6 +470,16 @@
470 470
                             </el-option>
471 471
                         </el-select>
472 472
                     </el-form-item>
473
+                    <el-form-item label="是否通过药房发药:" prop="">
474
+                        <el-select v-model="form.is_charge_use" style="width:160px;" placeholder="请选择">
475
+                            <el-option
476
+                                    v-for="item,index in options"
477
+                                    :key="index"
478
+                                    :label="item.label"
479
+                                    :value="item.value">
480
+                            </el-option>
481
+                        </el-select>
482
+                    </el-form-item>
473 483
                     <el-form-item label="" style="visibility: hidden;">
474 484
                         <el-input style="width:160px;" placeholder="" maxlength="30"></el-input>
475 485
                     </el-form-item>

+ 8 - 5
src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue Целия файл

@@ -873,6 +873,8 @@
873 873
     methods: {
874 874
       //调试
875 875
       lili(index,row){
876
+        // console.log("==index==",index)
877
+        // console.log("==row==",row)
876 878
         console.log("==doctor_advices==",this.doctor_advices)
877 879
         console.log("==this.form==",this.form)
878 880
       },
@@ -988,6 +990,8 @@
988 990
       },
989 991
       submitEditAdvice() {
990 992
         // console.log()
993
+        console.log("保存22222222222222")
994
+        console.log("==this.src_type==",this.src_type)
991 995
         if (this.form.advice_name.length == 0) {
992 996
           this.$message.error('请填写医嘱名称')
993 997
           return
@@ -1021,7 +1025,6 @@
1021 1025
               this.showAdviceForm = false
1022 1026
               this.showAdvicePanel = true
1023 1027
               var advice = response.data.data.advice
1024
-              console.log("advic323323232323232",advice)
1025 1028
               this.doctor_advices[this.currentIndex].drug_spec = advice.drug_spec
1026 1029
               this.doctor_advices[this.currentIndex].drug_spec_unit =
1027 1030
                 advice.drug_spec_unit
@@ -1347,7 +1350,7 @@
1347 1350
                     }
1348 1351
                   }
1349 1352
                   this.execTimeDialogVisible = false
1350
-                  
1353
+
1351 1354
                   return false
1352 1355
               }
1353 1356
 
@@ -1383,7 +1386,7 @@
1383 1386
           return false
1384 1387
         }
1385 1388
         let mode = '1'
1386
-       console.log("sry2332322332",this.src_type)
1389
+       // console.log("sry2332322332",this.src_type)
1387 1390
        if(this.src_type == ""){
1388 1391
           this.form.way = 1
1389 1392
        }
@@ -1412,7 +1415,7 @@
1412 1415
               this.hideForm()
1413 1416
               console.log("子药23223332323332",this.form.parent_id)
1414 1417
               console.log("232322332323232",this.form.parent_id)
1415
-           
1418
+
1416 1419
               if (this.form.parent_id > 0) {
1417 1420
                 var spliceIndex = -1
1418 1421
                 for (let index = this.doctor_advices.length - 1; ; index--) {
@@ -1436,7 +1439,7 @@
1436 1439
                       this.doctor_advices.push(swapData[index])
1437 1440
                     }
1438 1441
                   }
1439
-                 
1442
+
1440 1443
                   console.log("doctore_advic4233232323232",this.doctor_advices)
1441 1444
                 }
1442 1445
               } else {

+ 30 - 17
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue Целия файл

@@ -1663,7 +1663,7 @@
1663 1663
         this.isVisibility = true
1664 1664
       },
1665 1665
       handleAdviceCommit() {
1666
-        //
1666
+       
1667 1667
           let results = []
1668 1668
           for (let i = 0; i < this.targetAdvices.length; i++) {
1669 1669
             for (let a = 0; a < this.checkedCities.length; a++) {
@@ -1680,9 +1680,8 @@
1680 1680
 
1681 1681
           var date = new Date()
1682 1682
           var hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
1683
-          var minute =
1684
-            date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
1685
-
1683
+          var minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
1684
+         
1686 1685
           if (results.length > 0) {
1687 1686
             if(!this.isLoading){
1688 1687
               if (this.is_pre == 1) {
@@ -1693,14 +1692,17 @@
1693 1692
                 }
1694 1693
 
1695 1694
                 var arr = this.dialysisPrescription
1696
-                // console.log('arr', arr)
1695
+               
1697 1696
 
1698 1697
                 const ParamsQuery = arr
1699
-                // console.log('医嘱推送2', ParamsQuery)
1698
+                
1700 1699
 
1701 1700
                 ParamsQuery['patient'] = this.patient.id
1702 1701
                 ParamsQuery['record_date'] = this.record_date
1703
-                 ParamsQuery['patient_id'] = this.$route.query.patient_id
1702
+                ParamsQuery['patient_id'] = this.$route.query.patient_id
1703
+                if(this.$route.query.patient_id ==undefined){
1704
+                  ParamsQuery['patient_id'] = this.patient.id
1705
+                }
1704 1706
                 if (this.prescription.creater <= 0) {
1705 1707
                   ParamsQuery['mode'] = '1'
1706 1708
                 } else {
@@ -1713,6 +1715,8 @@
1713 1715
                   }
1714 1716
                 }
1715 1717
                 this.isLoading = true
1718
+                console.log("ParamsQuery233232322323322332232323",ParamsQuery)
1719
+
1716 1720
                 postPrescription(ParamsQuery).then(response => {
1717 1721
                   if (response.data.state == 0) {
1718 1722
                     this.$message.error(response.data.msg)
@@ -1726,9 +1730,7 @@
1726 1730
                       duration: 2000
1727 1731
                     })
1728 1732
                     var date = new Date()
1729
-
1730
-                    // console.log(this.start_time)
1731
-
1733
+                    
1732 1734
                     const params = {
1733 1735
                       advices: results,
1734 1736
                       advice_date: this.start_time.split(' ')[0],
@@ -1738,7 +1740,14 @@
1738 1740
                       start_time: this.start_time,
1739 1741
                       remark: ''
1740 1742
                     }
1741
-                    CreateGroupAdvice(this.$route.query.patient_id, 0, params).then(
1743
+                    var patient_id = 0
1744
+                    if(this.$route.query.patient_id == undefined){
1745
+                       patient_id = this.patient.id
1746
+                    }else{
1747
+                      patient_id = this.$route.query.patient_id
1748
+                    }
1749
+                  
1750
+                    CreateGroupAdvice(patient_id, 0, params).then(
1742 1751
                       rs => {
1743 1752
                         var resp = rs.data
1744 1753
                         if (resp.state == 1) {
@@ -1767,11 +1776,9 @@
1767 1776
                   return
1768 1777
                 }
1769 1778
                 var arr = this.dialysisPrescription
1770
-                // console.log('arr', arr)
1771
-
1779
+                
1772 1780
                 const ParamsQuery = arr
1773
-                // console.log('医嘱推送3', ParamsQuery)
1774
-
1781
+              
1775 1782
                 ParamsQuery['patient'] = this.patient.id
1776 1783
                 ParamsQuery['record_date'] = this.record_date
1777 1784
                 ParamsQuery['mode'] = 1
@@ -1806,7 +1813,13 @@
1806 1813
                       start_time: this.start_time,
1807 1814
                       remark: ''
1808 1815
                     }
1809
-                    CreateGroupAdvice(this.$route.query.patient_id, 0, params).then(
1816
+                    var patient_id = 0
1817
+                    if(this.$route.query.patient_id == undefined){
1818
+                       patient_id = this.patient.id
1819
+                    }else{
1820
+                      patient_id = this.$route.query.patient_id
1821
+                    }
1822
+                    CreateGroupAdvice(patient_id, 0, params).then(
1810 1823
                       rs => {
1811 1824
                         var resp = rs.data
1812 1825
                         if (resp.state == 1) {
@@ -2149,7 +2162,7 @@
2149 2162
         if (val > 2) {
2150 2163
           this.anticoagulant = this.anticoagulantsConfit[thismode - 2]
2151 2164
         }
2152
-        if ((this.$store.getters.xt_user.template_info.template_id == 13 || this.$store.getters.xt_user.template_info.template_id == 41 || this.$store.getters.xt_user.template_info.template_id == 6) && val == 2) {
2165
+        if ((this.$store.getters.xt_user.template_info.template_id == 13 || this.$store.getters.xt_user.template_info.template_id == 41 || this.$store.getters.xt_user.template_info.template_id == 6 || this.$store.getters.xt_user.template_info.template_id == 47) && val == 2) {
2153 2166
            if(val == 2){
2154 2167
              this.anticoagulant.shouji_unit = 'mg'
2155 2168
            }else{

+ 3 - 3
src/xt_pages/hospitalStation/invoiceTemplate/printThree.vue Целия файл

@@ -29,7 +29,7 @@
29 29
           <div  style="position: absolute;left:650px;top:70px;" v-if="insutype == '310'">
30 30
             类别:职工基本医疗保险
31 31
           </div>
32
-          <div  style="position: absolute;left:650px;top:70px;" v-else>
32
+          <div  style="position: absolute;left:400px;top:70px;" v-else>
33 33
             类别:
34 34
           </div>
35 35
         </div>
@@ -156,9 +156,9 @@
156 156
                 </span>
157 157
                 <span v-else>零分</span>
158 158
             </span> -->
159
-            <span style="position: absolute;top:280px;left:190px;letter-spacing: 20px;">{{zhongwen}}</span>
159
+            <span style="position: absolute;top:280px;left:170px;letter-spacing: 15px;">{{zhongwen}}</span>
160 160
             </span>
161
-            <span style="position: absolute;top:280px;left:510px">合计:{{ list.order.medfee_sumamt }}</span>
161
+            <span style="position: absolute;top:280px;left:615px">合计:{{ list.order.medfee_sumamt }}</span>
162 162
         </div>
163 163
 
164 164
 

+ 9 - 1
src/xt_pages/outpatientCharges/components/chargeDialog.vue Целия файл

@@ -38,7 +38,7 @@
38 38
         <el-form-item class="specialFormItem" >
39 39
           <div style="display:flex;">
40 40
 <!--            这里不要改成el-input,因为使用el-input会导致一个奇怪的bug,千万不要改!!!!!!!!!!!!!!!!!!!!-->
41
-            <input style="" v-model="form.tmp_decimal"  onkeyup="this.value = this.value.replace(/[^\d.]/g,'');" @input="lilili"></input>元
41
+            <input  class="input_style" v-model="form.tmp_decimal"  onkeyup="this.value = this.value.replace(/[^\d.]/g,'');" @input="lilili"></input>元
42 42
           </div>
43 43
         </el-form-item>
44 44
         </span>
@@ -379,4 +379,12 @@
379 379
     width:50%;
380 380
   }
381 381
 }
382
+.input_style {
383
+  border-radius: 5px;
384
+  border: 1px solid #dddddd;
385
+}
386
+.input_style:focus {
387
+outline:none;
388
+border: 1px solid #66b1ff;
389
+}
382 390
 </style>

+ 383 - 238
src/xt_pages/outpatientTool/components/detailStatistics.vue Целия файл

@@ -1,18 +1,23 @@
1 1
 <template>
2 2
   <div>
3
-    <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
3
+    <div
4
+      style="display: flex; justify-content: space-between; margin-bottom: 10px"
5
+    >
4 6
       <div>
5
-        <el-select size="small" v-model="item_type" placeholder="请选择"
6
-                   style="width:150px;margin-left:10px;" @change="changeItem">
7
-          <el-option
8
-              label="全部"
9
-              value="0">
10
-          </el-option>
7
+        <el-select
8
+          size="small"
9
+          v-model="item_type"
10
+          placeholder="请选择"
11
+          style="width: 150px; margin-left: 10px"
12
+          @change="changeItem"
13
+        >
14
+          <el-option label="全部" value=0> </el-option>
11 15
           <el-option
12
-              v-for="(item,index) in items"
13
-              :key="index"
14
-              :label="item.name"
15
-              :value="item.id">
16
+            v-for="(item, index) in items"
17
+            :key="index"
18
+            :label="item.name"
19
+            :value="item.id"
20
+          >
16 21
           </el-option>
17 22
         </el-select>
18 23
 
@@ -29,109 +34,148 @@
29 34
           class="filter-item"
30 35
           type="primary"
31 36
           @click="searchAction"
32
-        >搜索
37
+          >搜索
33 38
         </el-button>
34 39
         <el-date-picker
35
-            v-model="chargeDate"
36
-            type="daterange"
37
-            value-format="yyyy-MM-dd"
38
-            range-separator="至"
39
-            start-placeholder="开始日期"
40
-            @change="changeDate"
41
-            end-placeholder="结束日期">
40
+          v-model="chargeDate"
41
+          type="daterange"
42
+          value-format="yyyy-MM-dd"
43
+          range-separator="至"
44
+          start-placeholder="开始日期"
45
+          @change="changeDate"
46
+          end-placeholder="结束日期"
47
+        >
42 48
         </el-date-picker>
43
-        <el-button  type="primary" size="small" @click="toPrint">打印</el-button>
44
-      </div>
45
-      <div>
49
+        <el-button type="primary" size="small" @click="toPrint">打印</el-button>
46 50
       </div>
51
+      <div></div>
47 52
     </div>
48
-    <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="table"
49
-              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
50
-              max-height="600"
51
-              show-summary
52
-              v-loading="detail_loading"
53
-              highlight-current-row>
53
+    <el-table
54
+      :data="tableData"
55
+      border
56
+      :row-style="{ color: '#303133' }"
57
+      ref="table"
58
+      :header-cell-style="{
59
+        backgroundColor: 'rgb(245, 247, 250)',
60
+        color: '#606266',
61
+      }"
62
+      max-height="600"
63
+      show-summary
64
+      v-loading="detail_loading"
65
+      highlight-current-row
66
+    >
54 67
       <el-table-column type="index" label="序号" width="60px" align="center">
55 68
         <template slot-scope="scope">
56
-          {{scope.row.index}}
69
+          {{ scope.row.index }}
57 70
         </template>
58 71
       </el-table-column>
59 72
       <el-table-column align="center" label="处方日期">
60
-        <template slot-scope="scope">{{getTime(scope.row.record_date)}}</template>
73
+        <template slot-scope="scope">{{
74
+          getTime(scope.row.record_date)
75
+        }}</template>
61 76
       </el-table-column>
62 77
       <el-table-column align="center" label="费用编码">
63 78
         <template slot-scope="scope">
64
-          {{scope.row.number}}
79
+          {{ scope.row.number }}
65 80
         </template>
66 81
       </el-table-column>
67 82
       <el-table-column align="center" label="项目名称">
68 83
         <template slot-scope="scope">
69
-          <span v-if="scope.row.advice_id > 0">{{scope.row.advice.advice_name}}</span>
84
+          <span v-if="scope.row.advice_id > 0">{{
85
+            scope.row.advice.advice_name
86
+          }}</span>
70 87
           <span v-if="scope.row.project_id > 0">
71
-            <span v-if="scope.row.project.type == 2">{{scope.row.project.project.project_name}}</span>
72
-            <span v-if="scope.row.project.type == 3">{{scope.row.project.good_info.good_name}}</span>
88
+            <span v-if="scope.row.project.type == 2">{{
89
+              scope.row.project.project.project_name
90
+            }}</span>
91
+            <span v-if="scope.row.project.type == 3">{{
92
+              scope.row.project.good_info.good_name
93
+            }}</span>
73 94
           </span>
74 95
         </template>
75 96
       </el-table-column>
76 97
       <el-table-column align="center" label="规格">
77 98
         <template slot-scope="scope">
78
-          <span v-if="scope.row.advice_id > 0">{{scope.row.advice.drug.dose}}{{scope.row.advice.drug.dose_unit}}*{{scope.row.advice.drug.min_number}}{{scope.row.advice.drug.min_unit}}/{{scope.row.advice.drug.max_unit}}</span>
99
+          <span v-if="scope.row.advice_id > 0"
100
+            >{{ scope.row.advice.drug.dose
101
+            }}{{ scope.row.advice.drug.dose_unit }}*{{
102
+              scope.row.advice.drug.min_number
103
+            }}{{ scope.row.advice.drug.min_unit }}/{{
104
+              scope.row.advice.drug.max_unit
105
+            }}</span
106
+          >
79 107
           <span v-if="scope.row.project_id > 0">
80
-            <span v-if="scope.row.project.type == 2">{{scope.row.project.project.project_name}}</span>
81
-            <span v-if="scope.row.project.type == 3">{{scope.row.project.good_info.specification_name}}</span>
108
+            <span v-if="scope.row.project.type == 2">{{
109
+              scope.row.project.project.project_name
110
+            }}</span>
111
+            <span v-if="scope.row.project.type == 3">{{
112
+              scope.row.project.good_info.specification_name
113
+            }}</span>
82 114
           </span>
83 115
         </template>
84 116
       </el-table-column>
85
-      <el-table-column align="center"  label="数量">
117
+      <el-table-column align="center" label="数量">
86 118
         <template slot-scope="scope">
87
-          {{scope.row.cnt}}
119
+          {{ scope.row.cnt }}
88 120
         </template>
89 121
       </el-table-column>
90 122
       <el-table-column align="center" label="单位">
91 123
         <template slot-scope="scope">
92
-          <span v-if="scope.row.advice_id > 0">{{scope.row.advice.prescribing_number_unit}}</span>
124
+          <span v-if="scope.row.advice_id > 0">{{
125
+            scope.row.advice.prescribing_number_unit
126
+          }}</span>
93 127
           <span v-if="scope.row.project_id > 0">
94
-            <span v-if="scope.row.project.type == 2">{{scope.row.project.project.unit}}</span>
95
-            <span v-if="scope.row.project.type == 3">{{scope.row.project.good_info.packing_unit}}</span>
128
+            <span v-if="scope.row.project.type == 2">{{
129
+              scope.row.project.project.unit
130
+            }}</span>
131
+            <span v-if="scope.row.project.type == 3">{{
132
+              scope.row.project.good_info.packing_unit
133
+            }}</span>
96 134
           </span>
97 135
         </template>
98 136
       </el-table-column>
99 137
       <el-table-column align="center" label="单价">
100 138
         <template slot-scope="scope">
101
-          {{scope.row.pric}}
139
+          {{ scope.row.pric }}
102 140
         </template>
103 141
       </el-table-column>
104 142
       <el-table-column align="center" label="金额" prop="total_price">
105 143
         <template slot-scope="scope">
106 144
           <div>
107
-            {{scope.row.total_price}}
145
+            {{ scope.row.total_price }}
108 146
           </div>
109 147
         </template>
110 148
       </el-table-column>
111 149
       <el-table-column align="center" prop="name" label="备注">
112 150
         <template slot-scope="scope">
113 151
           <div>
114
-            <span v-if="scope.row.advice_id > 0">{{scope.row.advice.remark}}</span>
152
+            <span v-if="scope.row.advice_id > 0">{{
153
+              scope.row.advice.remark
154
+            }}</span>
115 155
             <span v-if="scope.row.project_id > 0">
116
-              <span v-if="scope.row.project.type == 2">{{scope.row.project.remark}}</span>
117
-              <span v-if="scope.row.project.type == 3">{{scope.row.project.remark}}</span>
156
+              <span v-if="scope.row.project.type == 2">{{
157
+                scope.row.project.remark
158
+              }}</span>
159
+              <span v-if="scope.row.project.type == 3">{{
160
+                scope.row.project.remark
161
+              }}</span>
118 162
             </span>
119 163
           </div>
120 164
         </template>
121 165
       </el-table-column>
122
-     
123 166
     </el-table>
124
-    <div style="display:flex;justify-content: space-around;">
125
-      <div>总费用:{{getAllPice()}}</div>
126
-     <div>个人支付:
127
-        <span v-if="his_patient.balance_accounts_type == 2"></span> {{getAllPice()}}
128
-        <span v-if="his_patient.balance_accounts_type != 2"></span> {{getActPay()}}
129
-    </div>
130
-     <div>基金支付记账:{{getFundPaySumamt()}}</div>
131
-     <div>补充医疗支付记账:{{getHifesPay()}}</div>
132
-    <div>救助支付金额:{{getMafPay()}}</div>
167
+    <div style="display: flex; justify-content: space-around; margin-top: 25px">
168
+      <div>总费用:{{ getAllPice() }}</div>
169
+      <div>
170
+        个人支付: <span v-if="his_patient.balance_accounts_type == 2"></span>
171
+        {{ getAllPice() }}
172
+        <span v-if="his_patient.balance_accounts_type != 2"></span>
173
+        {{ getActPay() }}
174
+      </div>
175
+      <div>基金支付记账:{{ getFundPaySumamt() }}</div>
176
+      <div>补充医疗支付记账:{{ getHifesPay() }}</div>
177
+      <div>救助支付金额:{{ getMafPay() }}</div>
133 178
     </div>
134
-    
135 179
   </div>
136 180
 
137 181
   <!-- </div> -->
@@ -139,258 +183,359 @@
139 183
 
140 184
 
141 185
 <script>
142
-import BreadCrumb from '@/xt_pages/components/bread-crumb'
143
-import { getHisSummaryDetailList } from '@/api/his/his_tools'
144
-const moment = require('moment')
145
-import { uParseTime } from '@/utils/tools'
186
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
187
+import { getHisSummaryDetailList } from "@/api/his/his_tools";
188
+const moment = require("moment");
189
+import { uParseTime } from "@/utils/tools";
146 190
 export default {
147 191
   components: {
148
-    BreadCrumb
149
-
192
+    BreadCrumb,
150 193
   },
151 194
   props: {
152 195
     patient_id: {
153 196
       type: Number,
154
-      default: 0
155
-    }
197
+      default: 0,
198
+    },
156 199
   },
157 200
 
158 201
   data() {
159
-
160 202
     return {
161 203
       detail_loading: false,
162 204
       tempArr: [],
163 205
       pos: 0,
164
-      search_input: '',
206
+      search_input: "",
165 207
 
166 208
       sameRowArr: [],
167
-      keywords: '',
209
+      keywords: "",
168 210
       tableData: [],
169
-      chargeDate: [moment(new Date()).add('year', 0).format('YYYY-MM-DD'), moment(new Date()).add('year', 0).format('YYYY-MM-DD')],
170
-      item_type: '0',
211
+      chargeDate: [
212
+        moment(new Date()).add("year", 0).format("YYYY-MM-DD"),
213
+        moment(new Date()).add("year", 0).format("YYYY-MM-DD"),
214
+      ],
215
+      item_type: "0",
171 216
       items: [
172
-        { id: 1, name: '药品' },
173
-        { id: 2, name: '项目' },
174
-        { id: 3, name: '耗材' },
175
-
217
+        { id: 1, name: "药品" },
218
+        { id: 2, name: "项目" },
219
+        { id: 3, name: "耗材" },
176 220
       ],
177
-      list:[],
178
-      his_patient:{},
179
-      id:0,
180
-      start_time:"",
181
-      end_time:"",
182
-    }
221
+      list: [],
222
+      his_patient: {},
223
+      id: 0,
224
+      start_time: "",
225
+      end_time: "",
226
+    };
183 227
   },
184 228
   methods: {
185 229
     getTime(val) {
186
-      if(val <= 0){
187
-        return ""
230
+      if (val <= 0) {
231
+        return "";
188 232
       }
189
-      if(val == ""){
190
-      return ""
191
-      }else {
192
-      return uParseTime(val, '{y}-{m}-{d}')
233
+      if (val == "") {
234
+        return "";
235
+      } else {
236
+        return uParseTime(val, "{y}-{m}-{d}");
193 237
       }
194
-     },
195
-    searchAction(){
196
-     this.getHisSummaryDetailList()
238
+    },
239
+    searchAction() {
240
+      let table_id = this.$store.getters.pagedata.list.table_id;
241
+      if (table_id == undefined) {
242
+        this.$store.commit("SET_PAGEDATA", {
243
+          table_id: 0,
244
+          type_id: this.id,
245
+          keywords: this.keywords,
246
+          start_time: this.chargeDate[0],
247
+          end_time: this.chargeDate[1],
248
+          patient_id: this.patient_id,
249
+        });
250
+      } else {
251
+        this.$store.commit("SET_PAGEDATA", {
252
+          table_id: table_id,
253
+          type_id: this.id,
254
+          keywords: this.keywords,
255
+          start_time: this.chargeDate[0],
256
+          end_time: this.chargeDate[1],
257
+          patient_id: this.patient_id,
258
+        });
259
+      }
260
+      this.getHisSummaryDetailList();
197 261
     },
198 262
     changeDate() {
199
-      this.start_time = this.chargeDate[0]
200
-      this.end_time = this.chargeDate[1]
201
-      this.getHisSummaryDetailList()
263
+      this.start_time = this.chargeDate[0];
264
+      this.end_time = this.chargeDate[1];
265
+      this.getHisSummaryDetailList();
202 266
     },
203 267
     changeItem(id) {
204
-      this.id = id
205
-      this.getHisSummaryDetailList()
206
- 
268
+      this.id = id;
269
+      let table_id = this.$store.getters.pagedata.list.table_id;
270
+      if (table_id == undefined) {
271
+        this.$store.commit("SET_PAGEDATA", {
272
+          table_id: 0,
273
+          type_id: this.id,
274
+          keywords: this.keywords,
275
+          start_time: this.chargeDate[0],
276
+          end_time: this.chargeDate[1],
277
+          patient_id: this.patient_id,
278
+        });
279
+      } else {
280
+        this.$store.commit("SET_PAGEDATA", {
281
+          table_id: table_id,
282
+          type_id: this.id,
283
+          keywords: this.keywords,
284
+          start_time: this.chargeDate[0],
285
+          end_time: this.chargeDate[1],
286
+          patient_id: this.patient_id,
287
+        });
288
+      }
289
+      this.getHisSummaryDetailList();
207 290
     },
208 291
     getHisSummaryDetailList() {
209
-      let start_time = this.chargeDate[0]
210
-      let end_time = this.chargeDate[1]
211
-      
292
+      let start_time = this.chargeDate[0];
293
+      let end_time = this.chargeDate[1];
212 294
       let params = {
213
-        patient_id:this.patient_id,
295
+        patient_id: this.patient_id,
214 296
         start_time: start_time,
215 297
         end_time: end_time,
216 298
         type: this.item_type,
217
-        keyword: this.keywords
218
-      }
219
-     getHisSummaryDetailList(params).then(response=>{
220
-       if(response.data.state == 1){
221
-          var list =  response.data.data.list
222
-          this.his_patient = response.data.data.his_patient
223
-          this.list = list
224
-          this.tableData = []
225
-          for(let i=0;i<list.length;i++){
226
-            for(let j=0;j<list[i].orders.length;j++){
227
-              for(let z=0;z<list[i].orders[j].order_info.length;z++){
228
-                  list[i].orders[j].order_info[z].record_date = list[i].orders[j].settle_accounts_date
229
-                  list[i].orders[j].order_info[z].number = list[i].orders[j].number
230
-                  this.tableData.push(list[i].orders[j].order_info[z])
231
-               }
299
+        keyword: this.keywords,
300
+      };
301
+      getHisSummaryDetailList(params).then((response) => {
302
+        if (response.data.state == 1) {
303
+          var list = response.data.data.list;
304
+          this.his_patient = response.data.data.his_patient;
305
+          this.list = list;
306
+          this.tableData = [];
307
+          for (let i = 0; i < list.length; i++) {
308
+            for (let j = 0; j < list[i].orders.length; j++) {
309
+              for (let z = 0; z < list[i].orders[j].order_info.length; z++) {
310
+                list[i].orders[j].order_info[z].record_date =
311
+                  list[i].orders[j].settle_accounts_date;
312
+                list[i].orders[j].order_info[z].number =
313
+                  list[i].orders[j].number;
314
+                this.tableData.push(list[i].orders[j].order_info[z]);
315
+              }
232 316
             }
233 317
           }
234
-          var obj = {index:"合计",total_price:0,record_date:"0"}
235
-          for(let i=0;i<this.tableData.length;i++){
236
-            this.tableData[i].index = i+1
237
-            this.tableData[i].total_price = 0
238
-            this.tableData[i].total_price = (this.tableData[i].cnt * this.tableData[i].pric).toFixed(2)
239
-            obj.total_price += (this.tableData[i].cnt * this.tableData[i].pric)  
318
+
319
+          var obj = { index: "合计", total_price: 0, record_date: "0" };
320
+          for (let i = 0; i < this.tableData.length; i++) {
321
+            this.tableData[i].index = i + 1;
322
+            this.tableData[i].total_price = 0;
323
+            this.tableData[i].total_price = (
324
+              this.tableData[i].cnt * this.tableData[i].pric
325
+            ).toFixed(2);
326
+            obj.total_price += this.tableData[i].cnt * this.tableData[i].pric;
240 327
           }
241
-          obj.total_price = (obj.total_price).toFixed(2)
242
-          
243
-          var new_arr = []
244
-           
245
-        
246
-          if(this.keywords!=""){
247
-            for(let i=0;i<this.tableData.length;i++){
248
-              if(this.tableData[i].index!="合计"){
249
-                if(this.tableData[i].advice_id > 0){
250
-                  if(this.tableData[i].advice.advice_name.indexOf(this.keywords) > -1){
251
-                  new_arr.push(this.tableData[i])
252
-                }
328
+          obj.total_price = obj.total_price.toFixed(2);
329
+
330
+          var new_arr = [];
331
+
332
+          let list_1 = this.$store.getters.pagedata.list;
333
+          if (list_1.keywords == undefined) {
334
+            this.keywords = "";
335
+          } else {
336
+            this.keywords = list_1.keywords;
337
+          }
338
+          this.id = list_1.type_id;
339
+          this.item_type = this.id
340
+
341
+          if (this.keywords != "") {
342
+            for (let i = 0; i < this.tableData.length; i++) {
343
+              if (this.tableData[i].index != "合计") {
344
+                if (this.tableData[i].advice_id > 0) {
345
+                  if (
346
+                    this.tableData[i].advice.advice_name.indexOf(
347
+                      this.keywords
348
+                    ) > -1
349
+                  ) {
350
+                    new_arr.push(this.tableData[i]);
351
+                  }
253 352
                 }
254
-                if(this.tableData[i].project_id >0){
255
-                  if(this.tableData[i].project.type == 2){
256
-                    if(this.tableData[i].project.project.project_name.indexOf(this.keywords) > -1){
257
-                        new_arr.push(this.tableData[i])
353
+                if (this.tableData[i].project_id > 0) {
354
+                  if (this.tableData[i].project.type == 2) {
355
+                    if (
356
+                      this.tableData[i].project.project.project_name.indexOf(
357
+                        this.keywords
358
+                      ) > -1
359
+                    ) {
360
+                      new_arr.push(this.tableData[i]);
258 361
                     }
259 362
                   }
260
-                  if(this.tableData[i].project.type == 3){
261
-                    if(this.tableData[i].project.good_info.good_name.indexOf(this.keywords)> - 1){
262
-                      new_arr.push(this.tableData[i])   
363
+                  if (this.tableData[i].project.type == 3) {
364
+                    if (
365
+                      this.tableData[i].project.good_info.good_name.indexOf(
366
+                        this.keywords
367
+                      ) > -1
368
+                    ) {
369
+                      new_arr.push(this.tableData[i]);
263 370
                     }
264 371
                   }
265 372
                 }
266 373
               }
267 374
             }
268
-            var objs = {index:"合计",total_price:0,record_date:"0"}
269
-            objs.total_price = this.getPrice(new_arr)
270
-            this.tableData = new_arr
375
+            var objs = { index: "合计", total_price: 0, record_date: "0" };
376
+            objs.total_price = this.getPrice(new_arr);
377
+            this.tableData = new_arr;
271 378
           }
272 379
 
273
-           if(this.id == 1){
274
-              var obj = {index:"合计",total_price:0,record_date:"0"}
275
-              var new_arr = []
276
-              for(let i=0;i<this.tableData.length;i++){
277
-                if(this.tableData[i].index!="合计"){
278
-                  if(this.tableData[i].advice_id > 0){
279
-                    new_arr.push(this.tableData[i])
280
-                  }
281
-                } 
380
+          if (this.id == 1) {
381
+            var obj = { index: "合计", total_price: 0, record_date: "0" };
382
+            var new_arr = [];
383
+            for (let i = 0; i < this.tableData.length; i++) {
384
+              if (this.tableData[i].index != "合计") {
385
+                if (this.tableData[i].advice_id > 0) {
386
+                  new_arr.push(this.tableData[i]);
387
+                }
282 388
               }
283
-              this.tableData = []
284
-              obj.total_price = this.getPrice(new_arr)
285
-              // new_arr.push(obj)
286
-              this.tableData = new_arr
287
-           }
288
-          if(this.id == 2){
289
-            var obj = {index:"合计",total_price:0,record_date:"0"}
290
-            var new_arr = []
291
-            for(let i=0;i<this.tableData.length;i++){
292
-              if(this.tableData[i].index!="合计"){
293
-                if(this.tableData[i].project_id > 0){
294
-                  if(this.tableData[i].project.type ==2){
295
-                    new_arr.push(this.tableData[i])
389
+            }
390
+            this.tableData = [];
391
+            obj.total_price = this.getPrice(new_arr);
392
+            this.tableData = new_arr;
393
+          }
394
+          if (this.id == 2) {
395
+            var obj = { index: "合计", total_price: 0, record_date: "0" };
396
+            var new_arr = [];
397
+            for (let i = 0; i < this.tableData.length; i++) {
398
+              if (this.tableData[i].index != "合计") {
399
+                if (this.tableData[i].project_id > 0) {
400
+                  if (this.tableData[i].project.type == 2) {
401
+                    new_arr.push(this.tableData[i]);
296 402
                   }
297 403
                 }
298
-              } 
299
-            }
300
-            // console.log("项目new_arr",new_arr)
301
-            this.tableData = []
302
-            obj.total_price = this.getPrice(new_arr)
303
-            // console.log("ar3233223232",new_arr)
304
-            // new_arr.push(obj)
305
-            this.tableData = new_arr
404
+              }
306 405
             }
406
+            this.tableData = [];
407
+            obj.total_price = this.getPrice(new_arr);
408
+            this.tableData = new_arr;
409
+          }
307 410
 
308
-          if(this.id == 3){
309
-            var new_arr = []
310
-            var obj = {index:"合计",total_price:0,record_date:"0"}
311
-            for(let i=0;i<this.tableData.length;i++){
312
-              if(this.tableData[i].index!="合计"){
313
-                if(this.tableData[i].project_id > 0){
314
-                  if(this.tableData[i].project.type == 3){
315
-                    new_arr.push(this.tableData[i])
411
+          if (this.id == 3) {
412
+            var new_arr = [];
413
+            var obj = { index: "合计", total_price: 0, record_date: "0" };
414
+            for (let i = 0; i < this.tableData.length; i++) {
415
+              if (this.tableData[i].index != "合计") {
416
+                if (this.tableData[i].project_id > 0) {
417
+                  if (this.tableData[i].project.type == 3) {
418
+                    new_arr.push(this.tableData[i]);
316 419
                   }
317 420
                 }
318
-              } 
421
+              }
319 422
             }
320
-            this.tableData = []
321
-            obj.total_price = this.getPrice(new_arr)
322
-            this.tableData = new_arr
323
-          }      
324
-          
325
-          // console.log("hh233223233232323232322332",this.tableData)
326
-       }
327
-     })
423
+            this.tableData = [];
424
+            obj.total_price = this.getPrice(new_arr);
425
+            this.tableData = new_arr;
426
+          }
427
+        }
428
+      });
328 429
     },
329
-    getAllPice(){
330
-      var total_price = 0
331
-      for(let i=0;i<this.tableData.length;i++){
332
-        total_price += this.tableData[i].pric * this.tableData[i].cnt
430
+
431
+    getAllPice() {
432
+      var total_price = 0;
433
+      for (let i = 0; i < this.tableData.length; i++) {
434
+        total_price += this.tableData[i].pric * this.tableData[i].cnt;
333 435
       }
334
-      return total_price.toFixed(2)
436
+      return total_price.toFixed(2);
335 437
     },
336
-    getActPay(){
337
-      var act_pay = 0
338
-      for(let i=0;i<this.list.length;i++){
339
-        for(let j=0;j<this.list[i].orders.length;j++){
340
-           act_pay +=this.list[i].orders[j].acct_pay
438
+    getActPay() {
439
+      var act_pay = 0;
440
+      for (let i = 0; i < this.list.length; i++) {
441
+        for (let j = 0; j < this.list[i].orders.length; j++) {
442
+          act_pay += this.list[i].orders[j].acct_pay;
341 443
         }
342 444
       }
343
-      return act_pay
445
+      return act_pay.toFixed(2)
344 446
     },
345
-    getFundPaySumamt(){
346
-      var fund_pay_sumamt = 0
347
-      for(let i=0;i<this.list.length;i++){
348
-        for(let j=0;j<this.list[i].orders.length;j++){
349
-           fund_pay_sumamt +=this.list[i].orders[j].fund_pay_sumamt
447
+    getFundPaySumamt() {
448
+      var fund_pay_sumamt = 0;
449
+      for (let i = 0; i < this.list.length; i++) {
450
+        for (let j = 0; j < this.list[i].orders.length; j++) {
451
+          fund_pay_sumamt += this.list[i].orders[j].fund_pay_sumamt;
350 452
         }
351 453
       }
352
-      return fund_pay_sumamt
454
+      return fund_pay_sumamt;
353 455
     },
354
-    getHifesPay(){
355
-      var hifes_pay = 0
356
-      for(let i=0;i<this.list.length;i++){
357
-        for(let j=0;j<this.list[i].orders.length;j++){
358
-          hifes_pay +=this.list[i].orders[j].hifes_pay
456
+    getHifesPay() {
457
+      var hifes_pay = 0;
458
+      for (let i = 0; i < this.list.length; i++) {
459
+        for (let j = 0; j < this.list[i].orders.length; j++) {
460
+          hifes_pay += this.list[i].orders[j].hifes_pay;
359 461
         }
360 462
       }
361
-      return hifes_pay
463
+      return hifes_pay;
362 464
     },
363
-    getMafPay(){
364
-      var maf_pay = 0
365
-      for(let i=0;i<this.list.length;i++){
366
-        for(let j=0;j<this.list[i].orders.length;j++){
367
-          maf_pay +=this.list[i].orders[j].maf_pay
465
+    getMafPay() {
466
+      var maf_pay = 0;
467
+      for (let i = 0; i < this.list.length; i++) {
468
+        for (let j = 0; j < this.list[i].orders.length; j++) {
469
+          maf_pay += this.list[i].orders[j].maf_pay;
368 470
         }
369 471
       }
370
-      return maf_pay
472
+      return maf_pay;
371 473
     },
372
-    toPrint(){
373
-      this.$router.push({path:"/hisTool/detailPrint?patient_id="+this.patient_id+"&start_time="+this.start_time+"&end_time="+this.end_time+"&type="+this.item_type +"&keyword="+this.keywords+"&id="+this.id+"&balance_accounts_type="+this.his_patient.balance_accounts_type})
474
+    toPrint() {
475
+      this.$router.push({
476
+        path:
477
+          "/hisTool/detailPrint?patient_id=" +
478
+          this.patient_id +
479
+          "&start_time=" +
480
+          this.start_time +
481
+          "&end_time=" +
482
+          this.end_time +
483
+          "&type=" +
484
+          this.item_type +
485
+          "&keyword=" +
486
+          this.keywords +
487
+          "&id=" +
488
+          this.id +
489
+          "&balance_accounts_type=" +
490
+          this.his_patient.balance_accounts_type,
491
+      });
492
+
493
+      // ======打印时将查询参数保存至store中======
494
+      // table_id: 左栏表格下标
495
+      // type_id: 下拉框id
496
+      // keywords: 输入框
497
+      // start_time: this.chargeDate[0],
498
+      // end_time: this.chargeDate[1],
499
+      // patient_id:this.patient_id
500
+      let table_id = this.$store.getters.pagedata.list.table_id;
501
+      if (table_id == undefined) {
502
+        this.$store.commit("SET_PAGEDATA", {
503
+          table_id: 0,
504
+          type_id: this.id,
505
+          keywords: this.keywords,
506
+          start_time: this.chargeDate[0],
507
+          end_time: this.chargeDate[1],
508
+          patient_id: this.patient_id,
509
+        });
510
+      } else {
511
+        this.$store.commit("SET_PAGEDATA", {
512
+          table_id: table_id,
513
+          type_id: this.id,
514
+          keywords: this.keywords,
515
+          start_time: this.chargeDate[0],
516
+          end_time: this.chargeDate[1],
517
+          patient_id: this.patient_id,
518
+        });
519
+      }
374 520
     },
375
-    getPrice(val){
376
-      var total_price = 0
377
-      for(let i=0;i<val.length;i++){
378
-         total_price += val[i].cnt * val[i].pric
521
+    getPrice(val) {
522
+      var total_price = 0;
523
+      for (let i = 0; i < val.length; i++) {
524
+        total_price += val[i].cnt * val[i].pric;
379 525
       }
380
-      return total_price.toFixed(2)
381
-    }
382
-
526
+      return total_price.toFixed(2);
527
+    },
383 528
   },
384 529
   created() {
385
-    this.start_time = this.chargeDate[0]
386
-    this.end_time = this.chargeDate[1]
387
-    this.getHisSummaryDetailList()
530
+    this.start_time = this.chargeDate[0];
531
+    this.end_time = this.chargeDate[1];
532
+    this.getHisSummaryDetailList();
533
+  },
534
+  watch: {
535
+    patient_id: function () {
536
+      this.patient_id = this.patient_id;
537
+      this.getHisSummaryDetailList();
538
+    },
388 539
   },
389
-  watch:{
390
-    "patient_id":function(){
391
-      this.patient_id = this.patient_id
392
-      this.getHisSummaryDetailList()
393
-    }
394
-  }
395
-}
540
+};
396 541
 </script>

Файловите разлики са ограничени, защото са твърде много
+ 1019 - 1095
src/xt_pages/outpatientTool/components/gatherStatistics.vue


+ 16 - 17
src/xt_pages/outpatientTool/detailPrint.vue Целия файл

@@ -33,8 +33,8 @@
33 33
       <div class="listInfo">
34 34
         <div>总费用:{{ getAllPice() }}</div>
35 35
         <div>个人支付:
36
-          <span v-if="this.$route.query.balance_accounts_type == 2 && his_patient.id >0">{{ getAllPice() }}</span>
37
-          <span v-if="this.$route.query.balance_accounts_type != 2 && his_patient.id >0">{{ getActPay() }}</span>
36
+          <!-- <span v-if="this.$route.query.balance_accounts_type == 2 && his_patient.id >0">{{ getAllPice() }}</span>
37
+          <span v-if="this.$route.query.balance_accounts_type != 2 && his_patient.id >0">{{ getActPay() }}</span> -->
38 38
           
39 39
           <span v-if="his_record_patient.balance_accounts_type == 2">{{ getAllPice() }}</span>
40 40
           <span v-if="his_record_patient.balance_accounts_type != 2">{{ getActPay() }}</span>
@@ -142,6 +142,7 @@ export default {
142 142
       ],
143 143
       order:{},
144 144
       his_record_patient:{},
145
+      orderList:[],
145 146
     };
146 147
   },
147 148
   methods: {
@@ -197,8 +198,9 @@ export default {
197 198
          
198 199
          this.his_record_patient = response.data.data.his_record_patient
199 200
 
200
-          this.hisDepatment = response.data.data.hisDepatment;
201
-
201
+         this.hisDepatment = response.data.data.hisDepatment;
202
+          
203
+         this.orderList = response.data.data.orderList
202 204
           this.order = response.data.data.order
203 205
           this.tableData = [];
204 206
           for (let i = 0; i < list.length; i++) {
@@ -225,7 +227,7 @@ export default {
225 227
           this.tableData.push(obj);
226 228
 
227 229
 
228
-          console.log("表哥233232323232233232322323",this.tableData)
230
+         
229 231
           if (this.$route.query.keyword != "") {
230 232
             var new_arr = []
231 233
             for (let i = 0; i < this.tableData.length; i++) {
@@ -268,7 +270,7 @@ export default {
268 270
             objs.total_price = this.getPrice(new_arr)
269 271
             new_arr.push(objs)
270 272
             this.tableData = new_arr;
271
-            console.log("表哥2333333333333333333333333333",this.tableData)
273
+           
272 274
           }
273 275
 
274 276
           if(this.$route.query.id == 1){
@@ -301,10 +303,10 @@ export default {
301 303
                 }
302 304
               }
303 305
             }
304
-            console.log("项目new_arr",new_arr)
306
+         
305 307
             this.tableData = []
306 308
             obj.total_price = this.getPrice(new_arr)
307
-            console.log("ar3233223232",new_arr)
309
+           
308 310
             for(let i=0;i<new_arr.length;i++){
309 311
               new_arr[i].is_total = 1
310 312
             }
@@ -330,7 +332,7 @@ export default {
330 332
               new_arr[i].is_total = 1
331 333
             }
332 334
             new_arr.push(obj)
333
-            console.log("new_arr2332323232",new_arr)
335
+           
334 336
             this.tableData = new_arr
335 337
           }
336 338
 
@@ -346,15 +348,12 @@ export default {
346 348
       }
347 349
       return total_price;
348 350
     },
349
-    getActPay() {
350
-      console.log("hh23h323223323", this.list);
351
-      var act_pay = 0;
352
-      for (let i = 0; i < this.list.length; i++) {
353
-        for (let j = 0; j < this.list[i].orders.length; j++) {
354
-          act_pay += this.list[i].orders[j].acct_pay;
355
-        }
351
+    getActPay(){
352
+      var act_pay = 0
353
+      for(let i=0;i<this.orderList.length;i++){
354
+         act_pay += this.orderList[i].psn_part_amt
356 355
       }
357
-      return act_pay;
356
+      return act_pay.toFixed(2)
358 357
     },
359 358
     getFundPaySumamt() {
360 359
       var fund_pay_sumamt = 0;

+ 9 - 10
src/xt_pages/outpatientTool/gatherPrint.vue Целия файл

@@ -189,7 +189,7 @@
189 189
           this.drugTypeList =response.data.data.drugTypeList
190 190
           this.costClassifyList = response.data.data.costClassifyList 
191 191
           var list = response.data.data.list
192
-          console.log("listw3232323223",list)
192
+          
193 193
 
194 194
           var new_arr = []
195 195
 
@@ -198,7 +198,7 @@
198 198
                new_arr.push(list[i].orders[j])
199 199
             }
200 200
           }
201
-          console.log("new_arr2332323232",new_arr)
201
+          
202 202
 
203 203
           var order_info = []
204 204
           for(let i=0;i<new_arr.length;i++){
@@ -220,7 +220,7 @@
220 220
               }
221 221
             }
222 222
           }
223
-          console.log("order_info222222222222",order_info)
223
+          
224 224
           
225 225
           //合并,相同的合并在一起
226 226
 
@@ -285,7 +285,7 @@
285 285
                arr[i].count_number +=arr[i].child[j].cnt
286 286
             }
287 287
           }
288
-          console.log("arr2323233232322332",arr)
288
+          
289 289
           var obj = {is_total:1,total:0}
290 290
           obj.total = this.getAllPiceTwo(arr)
291 291
           for(let i=0;i<arr.length;i++){
@@ -299,9 +299,9 @@
299 299
           arr.push(obj)
300 300
 
301 301
           this.tableList = arr
302
-          console.log("打印",this.tableList)
302
+         
303 303
           this.patient = response.data.data.patient
304
-          console.log("patinet",this.patient)
304
+         
305 305
           this.his_patient = response.data.data.his_patient
306 306
           this.hisDepatment =  response.data.data.hisDepatment
307 307
           this.order =  response.data.data.order
@@ -310,8 +310,7 @@
310 310
           this.schedule = response.data.data.schedule
311 311
           this.bedNumber = response.data.data.bedNumber
312 312
           if(this.$route.query.keyword !=""){
313
-            console.log("金拉风3322323232323",this.$route.query.keyword)
314
-            console.log("Ar23233232323223",this.tableList)
313
+           
315 314
             var new_arr = []
316 315
             for(let i=0;i<this.tableList.length;i++){
317 316
               if(this.tableList[i].is_total!=1){
@@ -525,7 +524,7 @@
525 524
           
526 525
           }
527 526
          }
528
-         console.log("list232332322323332233223232323",list)
527
+       
529 528
         return list
530 529
       }, 
531 530
     
@@ -1034,7 +1033,7 @@
1034 1033
       return total_price.toFixed(2)
1035 1034
     },
1036 1035
     getDrugType(id){
1037
-      console.log("id2332323232233232232323",id)
1036
+    
1038 1037
       var name = ""
1039 1038
       for(let i=0;i<this.drugTypeList.length;i++){
1040 1039
          if(id == this.drugTypeList[i].value){

+ 257 - 161
src/xt_pages/outpatientTool/statistics.vue Целия файл

@@ -1,34 +1,55 @@
1 1
 <template>
2 2
   <div class="main-contain new-main-contain">
3 3
     <div class="position">
4
-<!--      <bread-crumb :crumbs='crumbs'></bread-crumb>-->
5
-      <bread-crumb :crumbs='crumbs'></bread-crumb>
4
+      <!--      <bread-crumb :crumbs='crumbs'></bread-crumb>-->
5
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
6 6
     </div>
7
-    <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
7
+    <div
8
+      class="app-container"
9
+      style="display: flex; flex: 1; padding: 10px 20px 0px 20px"
10
+    >
8 11
       <div class="mainLeft">
9 12
         <div>
10
-         <el-input
11
-          size="small"
12
-          style="width: 130px"
13
-          v-model="keywords"
14
-          class="filter-item"
15
-          placeholder="请输入患者名称"
16
-        />
17
-        <el-button
18
-          size="small"
19
-          class="filter-item"
20
-          type="primary"
21
-          @click="searchAction"
22
-        >搜索
23
-        </el-button>
24
-          <el-table  :data="patientTableData" :height="tableHeight" border style="width: 100%;"
25
-                     :row-style="{ color: '#303133' }"
26
-                     :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
27
-                     highlight-current-row
28
-                     ref="singleTable"
29
-                     @current-change="handleCurrentChange"
30
-                   >
31
-            <el-table-column align="center" prop="name" label="姓名" wdith='89'>
13
+          <div
14
+            style="
15
+              margin: 10px 0;
16
+              display: flex;
17
+              justify-content: space-between;
18
+            "
19
+          >
20
+            <el-input
21
+              size="small"
22
+              style="width: 130px"
23
+              v-model="keywords"
24
+              class="filter-item"
25
+              placeholder="请输入患者名称"
26
+            />
27
+            <el-button
28
+              size="small"
29
+              class="filter-item"
30
+              type="primary"
31
+              @click="searchAction"
32
+              >搜索
33
+            </el-button>
34
+          </div>
35
+
36
+          <el-table
37
+            :row-class-name="tableRowClassName"
38
+            @row-click="onRowClick"
39
+            :data="patientTableData"
40
+            :height="tableHeight"
41
+            border
42
+            style="width: 100%"
43
+            :row-style="{ color: '#303133' }"
44
+            :header-cell-style="{
45
+              backgroundColor: 'rgb(245, 247, 250)',
46
+              color: '#606266',
47
+            }"
48
+            highlight-current-row
49
+            ref="singleTable"
50
+            @current-change="handleCurrentChange"
51
+          >
52
+            <el-table-column align="center" prop="name" label="姓名" wdith="89">
32 53
               <template slot-scope="scope">{{ scope.row.name }}</template>
33 54
             </el-table-column>
34 55
           </el-table>
@@ -39,21 +60,27 @@
39 60
           <el-tab-pane label="明细" name="明细"></el-tab-pane>
40 61
           <el-tab-pane label="汇总" name="汇总"></el-tab-pane>
41 62
         </el-tabs>
42
-        <detail-statistics v-if="titleType == '明细'" :patient_id="patient_id" ref="child"></detail-statistics>
43
-        <gather-statistics v-if="titleType == '汇总'" :patient_id="patient_id" ref="childOne"></gather-statistics>
63
+        <detail-statistics
64
+          v-if="titleType == '明细'"
65
+          :patient_id="patient_id"
66
+          ref="child"
67
+        ></detail-statistics>
68
+        <gather-statistics
69
+          v-if="titleType == '汇总'"
70
+          :patient_id="patient_id"
71
+          ref="childOne"
72
+        ></gather-statistics>
44 73
       </div>
45 74
     </div>
46 75
   </div>
47 76
 </template>
48 77
 
49 78
 <script>
50
-import {
51
-  GetDetailPatients,
52
-} from '@/api/his/his_tools'
53
-import BreadCrumb from '@/xt_pages/components/bread-crumb'
79
+import { GetDetailPatients } from "@/api/his/his_tools";
80
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
54 81
 
55
-import DetailStatistics from './components/detailStatistics'
56
-import GatherStatistics from './components/gatherStatistics'
82
+import DetailStatistics from "./components/detailStatistics";
83
+import GatherStatistics from "./components/gatherStatistics";
57 84
 export default {
58 85
   components: {
59 86
     GatherStatistics,
@@ -61,58 +88,118 @@ export default {
61 88
     BreadCrumb,
62 89
   },
63 90
   data() {
64
-
65 91
     return {
66
-      patientTableData:[],
92
+      currentRowIndex: 0,
93
+      patientTableData: [],
67 94
       tableHeight: 400,
68 95
       crumbs: [
69
-        { path: false, name: 'His工具' },
70
-        { path: false, name: '明细汇总统计' }
96
+        { path: false, name: "His工具" },
97
+        { path: false, name: "明细汇总统计" },
71 98
       ],
72
-      titleType: '明细',
73
-      patient_id:0,
74
-      keywords:"",
99
+      titleType: "明细",
100
+      patient_id: 0,
101
+      keywords: "",
102
+    };
103
+  },
104
+
105
+  // beforeRouteEnter(to, from, next){
106
+  //     if(from.path == '/hisTool/detailPrint'){
107
+  //       next((vm) => {
108
+  //         vm.titleType = "明细"
109
+  //       })
110
+  //     }else if(from.path == '/hisTool/gatherPrint'){
111
+  //       vm.titleType = "汇总"
112
+  //       next((vm) => {
113
+  //         vm.titleType = "汇总"
114
+  //       })
115
+  //     }else{
116
+  //       next()
117
+  //     }
118
+  // },
119
+
120
+  //判断列表页是否刷新
121
+  beforeRouteLeave(to, from, next) {
122
+    console.log(to, "beforeRouteEnter");
123
+    if (to.path != "/hisTool/detailPrint"&&to.path != "/hisTool/gatherPrint") {
124
+      this.$store.getters.pagedata.list.table_id = 0
125
+      next()
126
+    } else {
127
+     next()
75 128
     }
76 129
   },
130
+
131
+  watch:{
132
+    'titleType':{
133
+      handler(val){
134
+        this.$store.commit('SET_PAGENAME',val)
135
+      }
136
+    }
137
+  },
138
+
77 139
   methods: {
78
-    getPatientList(){
79
-       var params = {
80
-         keyword:this.keywords,
81
-       }
82
-      GetDetailPatients(params).then(response => {
140
+    getPatientList() {
141
+      var params = {
142
+        keyword: this.keywords,
143
+      };
144
+      GetDetailPatients(params).then((response) => {
83 145
         if (response.data.state == 0) {
84
-          this.$message.error(response.data.msg)
85
-          return false
146
+          this.$message.error(response.data.msg);
147
+          return false;
86 148
         } else {
87
-          this.patientTableData = response.data.data.patient
88
-          this.patient_id =  this.patientTableData[0].id
89
-          this.$refs.singleTable.setCurrentRow(this.patientTableData[0])
149
+          this.patientTableData = response.data.data.patient;
150
+          this.patient_id = this.patientTableData[0].id;
151
+          if (this.$store.getters.pagedata.list.table_id == 0) {
152
+            this.$refs.singleTable.setCurrentRow(this.patientTableData[0]);
153
+          } else {
154
+            this.$refs.singleTable.setCurrentRow(
155
+              this.patientTableData[
156
+                this.$store.getters.pagedata.list.table_id
157
+              ]
158
+            );
159
+          }
90 160
         }
91
-      })
161
+      });
92 162
     },
93
-    searchAction(){
94
-      this.getPatientList()
163
+
164
+    tableRowClassName({ row, rowIndex }) {
165
+      row.row_index = rowIndex;
95 166
     },
96
-    handleCurrentChange(row){
97
-      this.patient_id = 0
98
-      this.patient_id = row.id
167
+
168
+    onRowClick(row, event, column) {
169
+      this.currentRowIndex = row.row_index;
170
+      console.log(this.currentRowIndex, "this.currentRowIndex");
171
+      this.$store.commit("SET_PAGEDATA", {
172
+        table_id: this.currentRowIndex,
173
+      });
174
+      console.log(this.$store.getters.pagedata.list.table_id, "kk");
175
+    },
176
+    searchAction() {
177
+      this.getPatientList();
178
+    },
179
+    handleCurrentChange(row) {
180
+      this.patient_id = row.id;
181
+      // console.log(this.patientTableData[this.currentRowIndex],'this.tableData[this.currentRowIndex]')
182
+      //  this.$refs.singleTable.setCurrentRow(this.tableData[this.currentRowIndex])
99 183
       // this.$refs.child.getHisSummaryDetailList()
100 184
       // this.$refs.childOne.getGatherDetailList()
101 185
     },
102
-
103 186
   },
104 187
   created() {
105
-    const tableHeight = document.body.clientHeight - 290
106
-    this.tableHeight = tableHeight
107
-    this.getPatientList()
108 188
 
189
+    let type = this.$store.getters.pagedata.pagestate
190
+    if(type == ""){
191
+      this.titleType = "明细"
192
+    }else{
193
+      this.titleType = type
194
+    }
195
+    const tableHeight = document.body.clientHeight - 290;
196
+    this.tableHeight = tableHeight;
197
+    this.getPatientList();
198
+    
109 199
   },
110 200
 
111
-  mounted() {
112
-
113
-  },
114
-  watch: {}
115
-}
201
+  mounted() {}
202
+};
116 203
 </script>
117 204
 
118 205
 <style lang="scss" scoped>
@@ -138,10 +225,9 @@ export default {
138 225
   display: flex;
139 226
   flex-direction: column;
140 227
 
141
-.el-radio {
142
-  margin-right: 5px;
143
-}
144
-
228
+  .el-radio {
229
+    margin-right: 5px;
230
+  }
145 231
 }
146 232
 .mainRight {
147 233
   margin-left: 10px;
@@ -151,12 +237,11 @@ export default {
151 237
   flex-direction: column;
152 238
   overflow-y: auto;
153 239
 
154
-.cellSpan {
155
-  min-width: 80px;
156
-  display: inline-block;
157
-  margin-right: 10px;
158
-}
159
-
240
+  .cellSpan {
241
+    min-width: 80px;
242
+    display: inline-block;
243
+    margin-right: 10px;
244
+  }
160 245
 }
161 246
 .mainCenter {
162 247
   display: flex;
@@ -169,16 +254,15 @@ export default {
169 254
   flex-direction: column;
170 255
   position: relative;
171 256
 
172
-.el-form-item {
173
-  width: 32%;
174
-  margin-right: 1%;
175
-  float: left;
176
-}
177
-
178
-.el-form-item__label {
179
-  text-align: left;
180
-}
257
+  .el-form-item {
258
+    width: 32%;
259
+    margin-right: 1%;
260
+    float: left;
261
+  }
181 262
 
263
+  .el-form-item__label {
264
+    text-align: left;
265
+  }
182 266
 }
183 267
 .backColor {
184 268
   background: #f6f8f9;
@@ -192,21 +276,19 @@ export default {
192 276
   overflow-y: auto;
193 277
   margin-bottom: 60px;
194 278
 
195
-.el-tabs__item {
196
-  padding: 0 10px;
197
-}
198
-
279
+  .el-tabs__item {
280
+    padding: 0 10px;
281
+  }
199 282
 }
200 283
 .preTabs {
201 284
   height: 100%;
202 285
   display: flex;
203 286
   flex-direction: column;
204 287
 
205
-.el-tabs__content {
206
-  flex: 1;
207
-  overflow-y: auto;
208
-}
209
-
288
+  .el-tabs__content {
289
+    flex: 1;
290
+    overflow-y: auto;
291
+  }
210 292
 }
211 293
 
212 294
 .costBox {
@@ -240,25 +322,24 @@ export default {
240 322
   border: 1px solid #d2d2d2;
241 323
   box-sizing: border-box;
242 324
 
243
-p {
244
-  width: 50%;
245
-  height: 40px;
246
-  line-height: 40px;
247
-  text-align: center;
248
-  background: #eee;
249
-  float: left;
250
-}
251
-
252
-> p:last-child {
253
-  border-left: 1px solid #d2d2d2;
254
-  float: right;
255
-}
256
-
257
-.activeP {
258
-  background: #409EFF;
259
-  color: #fff;
260
-}
261
-
325
+  p {
326
+    width: 50%;
327
+    height: 40px;
328
+    line-height: 40px;
329
+    text-align: center;
330
+    background: #eee;
331
+    float: left;
332
+  }
333
+
334
+  > p:last-child {
335
+    border-left: 1px solid #d2d2d2;
336
+    float: right;
337
+  }
338
+
339
+  .activeP {
340
+    background: #409eff;
341
+    color: #fff;
342
+  }
262 343
 }
263 344
 .comfirmBox {
264 345
   width: 100%;
@@ -298,68 +379,83 @@ p {
298 379
 
299 380
 <style lang="scss">
300 381
 .centerLeft {
301
-
302
-.el-form-item__label {
303
-  text-align: left;
304
-}
305
-
382
+  .el-form-item__label {
383
+    text-align: left;
384
+  }
306 385
 }
307 386
 .tabsBox {
308
-
309
-.el-tabs__item {
310
-  padding: 0 10px;
311
-}
312
-
313
-.el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2) {
314
-  padding: 0 10px;
315
-}
316
-
317
-.el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:last-child {
318
-  padding: 0 10px;
319
-}
320
-
321
-.el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable {
322
-  padding: 0 10px;
323
-}
324
-
387
+  .el-tabs__item {
388
+    padding: 0 10px;
389
+  }
390
+
391
+  .el-tabs--bottom
392
+    .el-tabs--left
393
+    > .el-tabs__header
394
+    .el-tabs__item:nth-child(2),
395
+  .el-tabs--bottom
396
+    .el-tabs--right
397
+    > .el-tabs__header
398
+    .el-tabs__item:nth-child(2),
399
+  .el-tabs--bottom.el-tabs--border-card
400
+    > .el-tabs__header
401
+    .el-tabs__item:nth-child(2),
402
+  .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2),
403
+  .el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2),
404
+  .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2),
405
+  .el-tabs--top.el-tabs--border-card
406
+    > .el-tabs__header
407
+    .el-tabs__item:nth-child(2),
408
+  .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2) {
409
+    padding: 0 10px;
410
+  }
411
+
412
+  .el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:last-child,
413
+  .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:last-child,
414
+  .el-tabs--bottom.el-tabs--border-card
415
+    > .el-tabs__header
416
+    .el-tabs__item:last-child,
417
+  .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:last-child,
418
+  .el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:last-child,
419
+  .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:last-child,
420
+  .el-tabs--top.el-tabs--border-card
421
+    > .el-tabs__header
422
+    .el-tabs__item:last-child,
423
+  .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:last-child {
424
+    padding: 0 10px;
425
+  }
426
+
427
+  .el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable {
428
+    padding: 0 10px;
429
+  }
325 430
 }
326 431
 .centerRight {
432
+  .el-tabs__nav-scroll {
433
+    display: flex;
434
+  }
327 435
 
328
-.el-tabs__nav-scroll {
329
-  display: flex;
330
-}
331
-
332
-.el-tabs__nav {
333
-  margin: 0 auto;
334
-}
335
-
336
-.el-table th .cell, .el-table td .cell {
337
-  padding: 0 2px;
338
-}
436
+  .el-tabs__nav {
437
+    margin: 0 auto;
438
+  }
339 439
 
440
+  .el-table th .cell,
441
+  .el-table td .cell {
442
+    padding: 0 2px;
443
+  }
340 444
 }
341 445
 .preTabs {
342
-
343
-.el-tabs__content {
344
-
345
-}
346
-
446
+  .el-tabs__content {
447
+  }
347 448
 }
348 449
 .rightTabs {
349 450
   height: 100%;
350 451
 
351
-
352
-.el-tabs__content {
353
-
354
-}
355
-
452
+  .el-tabs__content {
453
+  }
356 454
 }
357 455
 .centerDialog {
358
-
359
-.el-dialog__body {
360
-  max-height: calc(100vh - 100px) !important;
361
-  padding: 0 20px;
362
-}
363
-
456
+  .el-dialog__body {
457
+    max-height: calc(100vh - 100px) !important;
458
+    padding: 0 20px;
459
+  }
364 460
 }
365 461
 </style>

+ 1 - 2
src/xt_pages/stock/Dialog/manufacturerOrDealerDialog.vue Целия файл

@@ -119,7 +119,7 @@
119 119
           ],
120 120
           dealer_name: [
121 121
             {required: true, message: '请输入经销商名称', trigger: 'blur'},
122
-          ], 
122
+          ],
123 123
 
124 124
         }
125 125
       }
@@ -162,7 +162,6 @@
162 162
             value = this.getValue()
163 163
             this.$emit('dialog-comfirm', value);
164 164
             this.form = Object.assign({}, this.resetForm)
165
-
166 165
           }
167 166
         });
168 167
       },

+ 62 - 1
src/xt_pages/stock/config/dealer.vue Целия файл

@@ -1,4 +1,5 @@
1 1
 <template>
2
+<!--  专用字典中的经销商-->
2 3
   <div class=" sign-and-weigh-box" style="background: white">
3 4
     <manufacturer-or-dealer-dialog
4 5
       ref="dialog"
@@ -16,6 +17,24 @@
16 17
         <!--<el-button type="primary" style="float:right;"  @click="showDialog">新增经销商</el-button>-->
17 18
 
18 19
         <div>
20
+
21
+          <el-select v-model="key" clearable filterable placeholder="请输入经销商名称" @change="handleSelect" @click.native="init" ><!--@change="updateconfig1(h1)"-->
22
+            <el-option
23
+              v-for="item in namelist"
24
+              :key="item.id"
25
+              :label="item.dealer_name"
26
+              :value="item.id"
27
+            >
28
+            </el-option>
29
+          </el-select>
30
+          <el-button
31
+            size="small"
32
+            class="filter-item"
33
+            type="primary"
34
+            icon="el-icon-search"
35
+            @click="search"
36
+          >查询</el-button>
37
+
19 38
           <el-button
20 39
             size="small"
21 40
             icon="el-icon-circle-plus-outline"
@@ -134,7 +153,8 @@ import {
134 153
   modifyDealer,
135 154
   getDealersList,
136 155
   deleteDealer,
137
-  GetDealer
156
+  GetDealer,
157
+  getdealername
138 158
 } from "@/api/stock";
139 159
 
140 160
 export default {
@@ -144,6 +164,8 @@ export default {
144 164
   name: "dealer",
145 165
   data() {
146 166
     return {
167
+      key:"",
168
+      namelist:[],
147 169
       thedefaultActive: "1-2",
148 170
       signAndWeighBoxPatients: "sign-and-weigh-box-patients",
149 171
       dealerData: [],
@@ -191,6 +213,44 @@ export default {
191 213
     };
192 214
   },
193 215
   methods: {
216
+    //初始化供应商列表
217
+    init(){
218
+      // alert("!!!")
219
+      this.key = ""
220
+      var params = {}
221
+      getdealername(params).then(res => {
222
+        if (res.data.state == 1){
223
+          this.namelist = res.data.data.list
224
+        }
225
+      })
226
+    },
227
+    handleSelect(){
228
+      // this.key = val.id
229
+      console.log("this.key",this.key)
230
+    },
231
+    search(){
232
+      let params = {
233
+        page: this.page,
234
+        limit: this.limit,
235
+        key: this.key
236
+      };
237
+      this.loading = true;
238
+      getDealersList(params).then(response => {
239
+        if (response.data.state == 0) {
240
+          this.loading = false;
241
+
242
+          this.$message.error(response.data.msg);
243
+          return false;
244
+        } else {
245
+          this.loading = false;
246
+          this.total = response.data.data.total;
247
+          this.dealerData = [];
248
+          for (let i = 0; i < response.data.data.dealer.length; i++) {
249
+            this.dealerData.push(response.data.data.dealer[i]);
250
+          }
251
+        }
252
+      });
253
+    },
194 254
     handleEdit: function(index, row) {
195 255
       this.editId = row.id;
196 256
       this.editIndex = index;
@@ -392,6 +452,7 @@ export default {
392 452
   },
393 453
   created() {
394 454
     this.getList();
455
+    this.init();
395 456
   }
396 457
 };
397 458
 </script>

+ 60 - 1
src/xt_pages/stock/config/manufacturer.vue Целия файл

@@ -1,4 +1,5 @@
1 1
 <template>
2
+<!--  专用字典的生产厂家-->
2 3
   <div class="main-contain">
3 4
     <div class=" sign-and-weigh-box" style="background: white">
4 5
       <manufacturer-or-dealer-dialog
@@ -15,6 +16,23 @@
15 16
       <el-row :gutter="15">
16 17
         <el-col>
17 18
           <div>
19
+            <el-select v-model="key" clearable filterable placeholder="请输入生产厂商名称" @click.native="init"  ><!--@change="updateconfig1(h1)"-->
20
+              <el-option
21
+                v-for="item in namelist"
22
+                :key="item.id"
23
+                :label="item.manufacturer_name"
24
+                :value="item.id"
25
+              >
26
+              </el-option>
27
+            </el-select>
28
+            <el-button
29
+              size="small"
30
+              class="filter-item"
31
+              type="primary"
32
+              icon="el-icon-search"
33
+              @click="search"
34
+            >查询</el-button>
35
+
18 36
             <el-button
19 37
               size="small"
20 38
               icon="el-icon-circle-plus-outline"
@@ -131,7 +149,8 @@ import {
131 149
   deleteManufacturer,
132 150
   GetManufacturer,
133 151
   getManufacturerList,
134
-  modifyManufacturer
152
+  modifyManufacturer,
153
+  getmanufacturername
135 154
 } from "@/api/stock";
136 155
 
137 156
 export default {
@@ -141,6 +160,8 @@ export default {
141 160
   name: "manufacturer",
142 161
   data() {
143 162
     return {
163
+      key:"",
164
+      namelist:[],
144 165
       signAndWeighBoxPatients: "sign-and-weigh-box-patients",
145 166
       manufacturerData: [],
146 167
       total: 0,
@@ -188,6 +209,43 @@ export default {
188 209
     };
189 210
   },
190 211
   methods: {
212
+    lili(){
213
+      alert("dadad")
214
+    },
215
+
216
+    //初始化供应商列表
217
+    init(){
218
+      // alert("!!!")
219
+      this.key = ""
220
+      var params = {}
221
+      getmanufacturername(params).then(res => {
222
+        if (res.data.state == 1){
223
+          this.namelist = res.data.data.list
224
+        }
225
+      })
226
+    },
227
+    search(){
228
+      let params = {
229
+        page: this.page,
230
+        limit: this.limit,
231
+        key: this.key
232
+      };
233
+      this.loading = true;
234
+      getManufacturerList(params).then(response => {
235
+        if (response.data.state == 0) {
236
+          this.loading = false;
237
+          this.$message.error(response.data.msg);
238
+          return false;
239
+        } else {
240
+          this.loading = false;
241
+          this.total = response.data.data.total;
242
+          this.manufacturerData = [];
243
+          for (let i = 0; i < response.data.data.manufacturer.length; i++) {
244
+            this.manufacturerData.push(response.data.data.manufacturer[i]);
245
+          }
246
+        }
247
+      });
248
+    },
191 249
     handleEdit: function(index, row) {
192 250
       this.editId = row.id;
193 251
       this.editIndex = index;
@@ -394,6 +452,7 @@ export default {
394 452
   },
395 453
   created() {
396 454
     this.getList();
455
+    this.init();
397 456
   }
398 457
 };
399 458
 </script>

+ 1 - 1
src/xt_pages/stock/drugs/drugStockInOrderAdd.vue Целия файл

@@ -761,7 +761,7 @@
761 761
             const params = {
762 762
               'stockIn': this.recordInfo.recordData
763 763
             }
764
-           
764
+            
765 765
             postDrugWarehouse(params, this.warehousing_time, this.form.manufacturer, this.form.dealer, this.type,this.storehouse_id).then(response => {
766 766
               if (response.data.state == 0) {
767 767
                 this.loading = false

+ 2 - 1
src/xt_pages/stock/drugs/drugStockOutOrderAdd.vue Целия файл

@@ -595,7 +595,8 @@ export default {
595 595
             stockOut: this.recordInfo.recordData
596 596
           };
597 597
        
598
-         
598
+          console.log("parasm2233223233232233232",params)
599
+        
599 600
           const loading = this.$loading({
600 601
             lock: true,
601 602
             text: 'Loading',

+ 27 - 5
src/xt_pages/user/doctorAdvice.vue Целия файл

@@ -671,7 +671,7 @@
671 671
                   </template>
672 672
                 </el-table-column>
673 673
                 <el-table-column
674
-                  label="开药数量!"
674
+                  label="开药数量"
675 675
                   min-width="80"
676 676
                   property="prescribing_number"
677 677
                   align="center"
@@ -690,10 +690,32 @@
690 690
                   align="center"
691 691
                 >
692 692
                   <template slot-scope="scope">
693
-                    <span v-if="scope.row.single_dose != 0"
694
-                      >{{ scope.row.single_dose
695
-                      }}{{ scope.row.single_dose_unit }}</span
696
-                    >
693
+<!--                    <span v-if="scope.row.single_dose != 0">{{ scope.row.single_dose}}{{ scope.row.single_dose_unit }}</span>-->
694
+                    <span v-if="scope.row.single_dose != 0">
695
+<!--                    {{ scope.row.single_dose}}{{ scope.row.single_dose_unit }}-->
696
+                    <span v-if="scope.row.single_dose_unit == 1" >{{ scope.row.single_dose}}g</span>
697
+                    <span v-else-if="scope.row.single_dose_unit == 2" >{{ scope.row.single_dose}}mg</span>
698
+                    <span v-else-if="scope.row.single_dose_unit == 3" >{{ scope.row.single_dose}}u</span>
699
+                    <span v-else-if="scope.row.single_dose_unit == 4" >{{ scope.row.single_dose}}ml</span>
700
+                    <span v-else-if="scope.row.single_dose_unit == 5" >{{ scope.row.single_dose}}万U</span>
701
+                    <span v-else-if="scope.row.single_dose_unit == 6" >{{ scope.row.single_dose}}枚</span>
702
+                    <span v-else-if="scope.row.single_dose_unit == 7" >{{ scope.row.single_dose}}粒</span>
703
+                    <span v-else-if="scope.row.single_dose_unit == 8" >{{ scope.row.single_dose}}片</span>
704
+                    <span v-else-if="scope.row.single_dose_unit == 9" >{{ scope.row.single_dose}}支</span>
705
+                    <span v-else-if="scope.row.single_dose_unit == 10" >{{ scope.row.single_dose}}ug</span>
706
+                    <span v-else-if="scope.row.single_dose_unit == 11" >{{ scope.row.single_dose}}iu</span>
707
+                    <span v-else-if="scope.row.single_dose_unit == 12" >{{ scope.row.single_dose}}包</span>
708
+                    <span v-else-if="scope.row.single_dose_unit == 13" >{{ scope.row.single_dose}}袋</span>
709
+                    <span v-else-if="scope.row.single_dose_unit == 14" >{{ scope.row.single_dose}}万</span>
710
+                    <span v-else-if="scope.row.single_dose_unit == 15" >{{ scope.row.single_dose}}万iu</span>
711
+                    <span v-else-if="scope.row.single_dose_unit == 16" >{{ scope.row.single_dose}}丸</span>
712
+                    <span v-else-if="scope.row.single_dose_unit == 17" >{{ scope.row.single_dose}}盒</span>
713
+                    <span v-else-if="scope.row.single_dose_unit == 18" >{{ scope.row.single_dose}}瓶</span>
714
+                    <span v-else-if="scope.row.single_dose_unit == 19" >{{ scope.row.single_dose}}瓶(袋)</span>
715
+                    <span v-else-if="scope.row.single_dose_unit == 20" >{{ scope.row.single_dose}}次</span>
716
+                    <span v-else >{{ scope.row.single_dose}}{{ scope.row.single_dose_unit }}</span>
717
+                  </span>
718
+
697 719
                   </template>
698 720
                 </el-table-column>
699 721
                 <el-table-column