Browse Source

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

csx 4 years ago
parent
commit
cd7deb0488

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

@@ -344,6 +344,17 @@ export function getHisOrderDetailCollect (params) {
344 344
 }
345 345
 
346 346
 
347
+export function getList (params) {
348
+  return request({
349
+    url: '/api/cost/compare',
350
+    method: 'get',
351
+    params:params,
352
+  })
353
+}
354
+
355
+
356
+
357
+
347 358
 
348 359
 
349 360
 

+ 7 - 1
src/store/modules/globalConfig.js View File

@@ -1820,7 +1820,13 @@ const global_config = {
1820 1820
     {
1821 1821
       id: 27,
1822 1822
       name: '万u'
1823
-    },
1823
+    }, {
1824
+        id: 28,
1825
+        name: '片'
1826
+      },{
1827
+        id: 29,
1828
+        name: '只'
1829
+      },
1824 1830
 
1825 1831
     ],
1826 1832
     body_fluid: [{

+ 224 - 57
src/xt_pages/outpatientCharges/costComparison.vue View File

@@ -6,13 +6,13 @@
6 6
     <div class="app-container">
7 7
       <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8 8
         <div>
9
-          <el-input size="small" style="width:150px;"  v-model="keywords"
9
+          <el-input size="small" style="width:150px;" v-model="keywords"
10 10
                     class="filter-item"/>
11 11
           <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">
12 12
             搜索
13 13
           </el-button>
14 14
         </div>
15
-        <el-button size="small" type="primary" @click="dialogFormVisible = true">医保对账</el-button>
15
+        <el-button size="small" type="primary" @click="dialogFormVisible = true" >医保对账</el-button>
16 16
       </div>
17 17
       <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
18 18
                 :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
@@ -24,37 +24,48 @@
24 24
           type="index"
25 25
         >
26 26
         </el-table-column>
27
-        <el-table-column align="center" prop="name" label="操作机构">
28
-          <template slot-scope="scope"></template>
29
-        </el-table-column>
30 27
         <el-table-column align="center" prop="name" label="对账申请人">
31
-          <template slot-scope="scope"></template>
28
+          <template slot-scope="scope">{{getName(scope.row.creator)}}</template>
32 29
         </el-table-column>
33 30
         <el-table-column align="center" prop="name" label="开始日期">
34
-          <template slot-scope="scope"></template>
31
+          <template slot-scope="scope">{{getTimes(scope.row.start_time)}}</template>
35 32
         </el-table-column>
36 33
         <el-table-column align="center" prop="name" label="结束日期">
37
-          <template slot-scope="scope"></template>
34
+          <template slot-scope="scope">{{getTimes(scope.row.end_time)}}</template>
38 35
         </el-table-column>
39 36
         <el-table-column align="center" prop="name" label="险种类型">
40
-          <template slot-scope="scope"></template>
37
+          <template slot-scope="scope">
38
+            <div  v-if="scope.row.insutype == '310'">职工基本医疗保险</div>
39
+            <div  v-if="scope.row.insutype == '320'">公务员医疗补助</div>
40
+            <div  v-if="scope.row.insutype == '330'">大额医疗费用补助</div>
41
+            <div  v-if="scope.row.insutype == '340'">离休人员医疗保障</div>
42
+            <div  v-if="scope.row.insutype == '390'">城乡居民基本医疗保险</div>
43
+            <div  v-if="scope.row.insutype == '392'">城乡居民大病医疗保险</div>
44
+            <div  v-if="scope.row.insutype == '510'">生育保险</div>
45
+          </template>
41 46
         </el-table-column>
42 47
         <el-table-column align="center" prop="name" label="对账类型">
43
-          <template slot-scope="scope"></template>
48
+          <template slot-scope="scope">
49
+            <div  v-if="scope.row.check_type == 1">总账</div>
50
+            <div  v-if="scope.row.check_type == 2">明细</div>
51
+          </template>
44 52
         </el-table-column>
45 53
         <el-table-column align="center" prop="name" label="结算笔数">
46
-          <template slot-scope="scope"></template>
54
+          <template slot-scope="scope">{{scope.row.num}}</template>
47 55
         </el-table-column>
48 56
         <el-table-column align="center" prop="name" label="医疗费用总数">
49 57
           <template slot-scope="scope">
58
+            {{scope.row.cost_total}}元
50 59
           </template>
51 60
         </el-table-column>
52 61
         <el-table-column align="center" prop="name" width="160" label="基本医疗基金总费用">
53 62
           <template slot-scope="scope">
63
+            {{scope.row.func_total}}元
54 64
           </template>
55 65
         </el-table-column>
56 66
         <el-table-column align="center" prop="name" label="个人支付总费用">
57 67
           <template slot-scope="scope">
68
+            {{scope.row.psn_pay}}元
58 69
           </template>
59 70
         </el-table-column>
60 71
       </el-table>
@@ -72,45 +83,46 @@
72 83
       </el-pagination>
73 84
       <el-dialog title="医保对账" :visible.sync="dialogFormVisible">
74 85
         <el-form :model="form" label-width="100px">
75
-            <el-form-item label="时间" :label-width="formLabelWidth">
76
-                <el-date-picker v-model="start_time" prefix-icon="el-icon-date"
77
-                    @change="handleStartTimeChange" :editable="false" :clearable="false"
78
-                    style="width: 200px;" type="date" placeholder="选择开始日期"
79
-                    format="yyyy-MM-dd"
80
-                    value-format="yyyy-MM-dd"
81
-                    align="right"></el-date-picker>-
82
-
83
-                <el-date-picker v-model="end_time" prefix-icon="el-icon-date"
84
-                    @change="handleEndTimeChange" :editable="false" :clearable="false"
85
-                    style="width: 200px;margin-right:10px;" type="date" placeholder="选择结束日期"
86
-                    format="yyyy-MM-dd"
87
-                    value-format="yyyy-MM-dd"
88
-                    align="right"></el-date-picker>
89
-            </el-form-item>
90
-            <el-form-item label="险种类型" :label-width="formLabelWidth">
91
-                <el-select v-model="value" placeholder="请选择" style="width: 200px;">
92
-                    <el-option
93
-                    v-for="item in options"
94
-                    :key="item.value"
95
-                    :label="item.label"
96
-                    :value="item.value">
97
-                    </el-option>
98
-                </el-select>
99
-            </el-form-item>
100
-            <el-form-item label="对账类型" :label-width="formLabelWidth">
101
-                <el-select v-model="value" placeholder="请选择" style="width: 200px;">
102
-                    <el-option
103
-                    v-for="item in options"
104
-                    :key="item.value"
105
-                    :label="item.label"
106
-                    :value="item.value">
107
-                    </el-option>
108
-                </el-select>
109
-            </el-form-item>
86
+          <el-form-item label="时间" :label-width="formLabelWidth">
87
+            <el-date-picker v-model="start_time" prefix-icon="el-icon-date"
88
+                            @change="handleStartTimeChange" :editable="false" :clearable="false"
89
+                            style="width: 200px;" type="date" placeholder="选择开始日期"
90
+                            format="yyyy-MM-dd"
91
+                            value-format="yyyy-MM-dd"
92
+                            align="right"></el-date-picker>
93
+            -
94
+
95
+            <el-date-picker v-model="end_time" prefix-icon="el-icon-date"
96
+                            @change="handleEndTimeChange" :editable="false" :clearable="false"
97
+                            style="width: 200px;margin-right:10px;" type="date" placeholder="选择结束日期"
98
+                            format="yyyy-MM-dd"
99
+                            value-format="yyyy-MM-dd"
100
+                            align="right"></el-date-picker>
101
+          </el-form-item>
102
+          <el-form-item label="险种类型" :label-width="formLabelWidth">
103
+            <el-select v-model=" insutype" placeholder="请选择" style="width: 200px;">
104
+              <el-option
105
+                v-for="item in insutypes"
106
+                :key="item.value"
107
+                :label="item.label"
108
+                :value="item.value">
109
+              </el-option>
110
+            </el-select>
111
+          </el-form-item>
112
+          <el-form-item label="对账类型" :label-width="formLabelWidth">
113
+            <el-select v-model="check_type" placeholder="请选择" style="width: 200px;">
114
+              <el-option
115
+                v-for="item in options"
116
+                :key="item.value"
117
+                :label="item.label"
118
+                :value="item.value">
119
+              </el-option>
120
+            </el-select>
121
+          </el-form-item>
110 122
         </el-form>
111 123
         <div slot="footer" class="dialog-footer">
112
-            <el-button @click="dialogFormVisible = false">取 消</el-button>
113
-            <el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
124
+          <el-button @click="dialogFormVisible = false">取 消</el-button>
125
+          <el-button type="primary" @click="confirm">确 定</el-button>
114 126
         </div>
115 127
       </el-dialog>
116 128
     </div>
@@ -122,8 +134,10 @@
122 134
 
123 135
 <script>
124 136
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
125
-  import { getHisOrderList,getDoctorList,getExportConsumeDetailList } from '@/api/his/his'
137
+  import { getDoctorList, getExportConsumeDetailList, getHisOrderList, getList } from '@/api/his/his'
126 138
   import { uParseTime } from '@/utils/tools'
139
+  import { fetchAllAdminUsers } from '@/api/doctor'
140
+  import axios from 'axios'
127 141
 
128 142
   export default {
129 143
     components: {
@@ -136,21 +150,174 @@
136 150
           { path: false, name: '医保费用对照' }
137 151
         ],
138 152
         tableData: [],
139
-        limit:10,
140
-        page:1,
141
-        dialogFormVisible:false
153
+        limit: 10,
154
+        page: 1,
155
+        dialogFormVisible: false,
156
+        total: 0,
157
+        adminUserOptions: [],
158
+        start_time:"",
159
+        end_time:"",
160
+        insutype:"",
161
+        check_type:"",
162
+
163
+        options:[
164
+          {
165
+            value:1,
166
+            label:"总账",
167
+          },  {
168
+            value:2,
169
+            label:"明细",
170
+          },
171
+        ],
172
+
173
+        insutypes:[
174
+          {
175
+            value:"310",
176
+            label:"职工基本医疗保险",
177
+          },  {
178
+            value:"320",
179
+            label:"公务员医疗补助",
180
+          },  {
181
+            value:"330",
182
+            label:"大额医疗费用补助",
183
+          },  {
184
+            value:"340",
185
+            label:"离休人员医疗保障",
186
+          },
187
+          {
188
+            value:"390",
189
+            label:"城乡居民基本医疗保险",
190
+          }, {
191
+            value:"392",
192
+            label:"城乡居民大病医疗保险",
193
+          }, {
194
+            value:"510",
195
+            label:"生育保险",
196
+          }
197
+
198
+
199
+
200
+        ]
201
+
142 202
       }
143 203
     },
144 204
     methods: {
145
-      handleSizeChange(limit){
146
-        this.limit = limit;
205
+      confirm(){
206
+        if(this.check_type == 1){
207
+          let params = {
208
+            start_time: this.start_time,
209
+            end_time: this.end_time,
210
+            insutype: this.insutype,
211
+            clr_type: '11'
212
+          }
213
+
214
+          var that = this
215
+
216
+          if (this.$store.getters.xt_user.org_id == 9919) {
217
+            axios.get('http://127.0.0.1:9532/api/checkaccount/get', {
218
+              params: params
219
+            })
220
+              .then(function(response) {
221
+                if (response.data.state == 0) {
222
+                  that.$message.error(response.data.msg)
223
+                  return false
224
+                } else {
225
+                  this.page =1
226
+                  this.limit = 10
227
+                  this.keywords = ""
228
+                  this.getList()
229
+
230
+                }
231
+              })
232
+              .catch(function(error) {
233
+
234
+              })
235
+
236
+          }
237
+
238
+        }else {
239
+          let params = {
240
+            start_time: this.start_time,
241
+            end_time: this.end_time,
242
+          }
243
+          var that = this
244
+          axios.get('http://127.0.0.1:9532/api/checkdetailaccount/get', {
245
+            params: params
246
+          })
247
+            .then(function(response) {
248
+              if (response.data.state == 0) {
249
+                that.$message.error(response.data.msg)
250
+                return false
251
+              } else {
252
+                this.page =1
253
+                this.limit = 10
254
+                this.keywords = ""
255
+                this.getList()
256
+              }
257
+            })
258
+            .catch(function(error) {
259
+
260
+            })
261
+
262
+
263
+        }
264
+
265
+
266
+      },
267
+      getInsutype(type) {
268
+
269
+      },
270
+      fetchAllAdminUsers() {
271
+        fetchAllAdminUsers().then(response => {
272
+          if (response.data.state == 1) {
273
+            this.adminUserOptions = response.data.data.users
274
+
275
+          }
276
+        })
147 277
       },
148
-      handleCurrentChange(page){
149
-        this.page = page;
278
+      getName(admin_user_id) {
279
+        for (let i = 0; i < this.adminUserOptions.length; i++) {
280
+          if (this.adminUserOptions[i].id == admin_user_id) {
281
+            return this.adminUserOptions[i].name
282
+          }
283
+        }
284
+
285
+      },
286
+      getTimes(time) {
287
+        return uParseTime(time, '{y}-{m}-{d}')
288
+      },
289
+      getList() {
290
+        let params = {
291
+          'page': this.page,
292
+          'limit': this.limit,
293
+          'keywords': this.keywords
294
+
295
+        }
296
+        this.tableData = []
297
+        getList(params).then(response => {
298
+          if (response.data.state == 0) {
299
+            this.$message.error(response.data.msg)
300
+            return false
301
+          } else {
302
+            this.tableData = response.data.data.list
303
+            this.total = response.data.data.total
304
+          }
305
+        })
306
+
150 307
       },
308
+      handleSizeChange(limit) {
309
+        this.limit = limit
310
+        this.getList()
311
+      },
312
+      handleCurrentChange(page) {
313
+        this.page = page
314
+        this.getList()
315
+
316
+      }
151 317
     },
152 318
     created() {
153
-
319
+      this.getList()
320
+      this.fetchAllAdminUsers()
154 321
 
155 322
     }
156 323
   }

+ 12 - 1
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue View File

@@ -70,10 +70,16 @@
70 70
 
71 71
 
72 72
           <el-button v-loading="loadingtwo" v-if="this.hisPatientInfo.id > 0 && this.order.id == 0" size="small"
73
-                     @click="open(4)"
73
+                     @click="open(20)"
74 74
                      type="primary">收费
75 75
           </el-button>
76 76
 
77
+
78
+          <el-button v-loading="loadingtwo" v-if="this.hisPatientInfo.id > 0 && this.order.id == 0" size="small"
79
+                     @click="open(4)"
80
+                     type="primary">预结算
81
+          </el-button>
82
+
77 83
           <el-button size="small" @click="open(5)" type="primary"
78 84
                      v-if="this.hisPatientInfo.id > 0 && this.order.id > 0 &&  this.order.order_status == 2">退费
79 85
           </el-button>
@@ -1504,6 +1510,11 @@
1504 1510
 
1505 1511
           }
1506 1512
 
1513
+        }else if(index == 20){
1514
+
1515
+
1516
+
1517
+
1507 1518
         }
1508 1519
       },
1509 1520
 

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

@@ -1400,7 +1400,7 @@
1400 1400
         } else {
1401 1401
           let arr = []
1402 1402
           for (let i = 0; i < this.allProject.length; i++) {
1403
-            if (this.allProject[i].project_name.indexOf(this.search_project_keyword) != -1) {
1403
+            if (this.allProject[i].project_name.indexOf(this.search_project_keyword) != -1 || this.allProject[i].wubi.indexOf(this.search_project_keyword) != -1 || this.allProject[i].pinyin.indexOf(this.search_project_keyword) != -1) {
1404 1404
               arr = arr.concat(this.allProject[i])
1405 1405
             }
1406 1406
           }
@@ -1415,7 +1415,7 @@
1415 1415
         } else {
1416 1416
           let arr = []
1417 1417
           for (let i = 0; i < this.drugs.length; i++) {
1418
-            if (this.drugs[i].drug_name.indexOf(this.search_keyword) != -1) {
1418
+            if (this.drugs[i].drug_name.indexOf(this.search_keyword) != -1 || this.drugs[i].wubi.indexOf(this.search_keyword) != -1 || this.drugs[i].pinyin.indexOf(this.search_keyword) != -1) {
1419 1419
               arr = arr.concat(this.drugs[i])
1420 1420
             }
1421 1421
           }