Bläddra i källkod

押金管理渲染

mainqaq 2 år sedan
förälder
incheckning
968c991b0a

+ 172 - 0
src/api/deposit.js Visa fil

@@ -0,0 +1,172 @@
1
+import request from '@/utils/request'
2
+
3
+//获取患者押金列表=
4
+export function getuserlist(params) {
5
+  return request({
6
+    url: '/api/his/getuserlist',
7
+    method: 'get',
8
+    params: params
9
+  })
10
+}
11
+
12
+//获取病例中心,有效患者名称=
13
+export function gethisuser(params) {
14
+  return request({
15
+    url: '/api/his/gethisuser',
16
+    method: 'get',
17
+    params: params
18
+  })
19
+}
20
+
21
+//新增押金=
22
+export function adddeposit(data) {
23
+  return request({
24
+    url: '/api/his/adddeposit',
25
+    method: 'post',
26
+    data: data
27
+  })
28
+}
29
+
30
+//新增一条退款申请=
31
+export function refundapplication(data) {
32
+  return request({
33
+    url: '/api/his/refundapplication',
34
+    method: 'post',
35
+    data: data
36
+  })
37
+}
38
+
39
+//更改退款申请=
40
+export function changerefund(data) {
41
+  return request({
42
+    url: '/api/his/changerefund',
43
+    method: 'post',
44
+    data: data
45
+  })
46
+}
47
+
48
+//获取新增押金编号=
49
+export function getdepositcode(params) {
50
+  return request({
51
+    url: '/api/his/getdepositcode',
52
+    method: 'get',
53
+    params: params
54
+  })
55
+}
56
+
57
+//获取退款编号=
58
+export function getdeletecode(params) {
59
+  return request({
60
+    url: '/api/his/getdeletecode',
61
+    method: 'get',
62
+    params: params
63
+  })
64
+}
65
+
66
+//充值明细列表=
67
+export function rechargedetails(params) {
68
+  return request({
69
+    url: '/api/his/rechargedetails',
70
+    method: 'get',
71
+    params: params
72
+  })
73
+}
74
+
75
+//押金审核=
76
+export function updeposit(params) {
77
+  return request({
78
+    url: '/api/his/updeposit',
79
+    method: 'get',
80
+    params: params
81
+  })
82
+}
83
+
84
+//押金删除=
85
+export function deletehistory(params) {
86
+  return request({
87
+    url: '/api/his/deletehistory',
88
+    method: 'get',
89
+    params: params
90
+  })
91
+}
92
+
93
+//充值汇总列表=
94
+export function rechargesummary(params) {
95
+  return request({
96
+    url: '/api/his/rechargesummary',
97
+    method: 'get',
98
+    params: params
99
+  })
100
+}
101
+
102
+//根据患者id获取押金流水
103
+export function depositflow(params) {
104
+  return request({
105
+    url: '/api/his/depositflow',
106
+    method: 'get',
107
+    params: params
108
+  })
109
+}
110
+
111
+//扣费明细查询=
112
+export function deductiondetails(params) {
113
+  return request({
114
+    url: '/api/his/deductiondetails',
115
+    method: 'get',
116
+    params: params
117
+  })
118
+}
119
+
120
+//扣费汇总=
121
+export function desummary(params) {
122
+  return request({
123
+    url: '/api/his/desummary',
124
+    method: 'get',
125
+    params: params
126
+  })
127
+}
128
+
129
+//根据患者id查询患者的余额=
130
+export function idtobalance(params) {
131
+  return request({
132
+    url: '/api/his/idtobalance',
133
+    method: 'get',
134
+    params: params
135
+  })
136
+}
137
+
138
+//退款审核通过/拒绝=
139
+export function refundreview(params) {
140
+  return request({
141
+    url: '/api/his/refundreview',
142
+    method: 'get',
143
+    params: params
144
+  })
145
+}
146
+
147
+//退款删除=
148
+export function deleterefund(params) {
149
+  return request({
150
+    url: '/api/his/deleterefund',
151
+    method: 'get',
152
+    params: params
153
+  })
154
+}
155
+
156
+//退款分页=
157
+export function refundlist(params) {
158
+  return request({
159
+    url: '/api/his/refundlist',
160
+    method: 'get',
161
+    params: params
162
+  })
163
+}
164
+
165
+//获取机构名称
166
+export function getorgname(params) {
167
+  return request({
168
+    url: '/api/his/getorgname',
169
+    method: 'get',
170
+    params: params
171
+  })
172
+}

+ 9 - 9
src/xt_pages/DepositManagement/DeductionDetailsSummary.vue Visa fil

@@ -13,14 +13,14 @@
13 13
             <DeductionSummary></DeductionSummary>
14 14
           </el-tab-pane>
15 15
         </el-tabs>
16
-        <div
17
-          style="position: absolute; top: 80px; right: 40px"
18
-          v-if="activeName == 'first'"
19
-        >
20
-          <el-button size="small" type="primary" @click="Add()">
21
-            新增
22
-          </el-button>
23
-        </div>
16
+<!--        <div-->
17
+<!--          style="position: absolute; top: 80px; right: 40px"-->
18
+<!--          v-if="activeName == 'first'"-->
19
+<!--        >-->
20
+<!--          <el-button size="small" type="primary" @click="Add()">-->
21
+<!--            新增-->
22
+<!--          </el-button>-->
23
+<!--        </div>-->
24 24
       </div>
25 25
       <el-dialog
26 26
         title="新增押金"
@@ -106,4 +106,4 @@ export default {
106 106
 };
107 107
 </script>
108 108
 <style>
109
-</style>
109
+</style>

+ 214 - 41
src/xt_pages/DepositManagement/DepositRefund.vue Visa fil

@@ -1,4 +1,5 @@
1 1
 <template>
2
+<!--  退款列表-->
2 3
   <div class="main-contain">
3 4
     <div class="position">
4 5
       <bread-crumb :crumbs="crumbs"></bread-crumb>
@@ -34,18 +35,18 @@
34 35
                 style="width: 200px; margin-left: 10px"
35 36
                 class="filter-item"
36 37
                 placeholder="请输入编号/患者名称"
37
-                v-model.trim="keywords"
38
+                v-model.trim="keyword"
38 39
               />
39 40
             </div>
40 41
 
41 42
             <div style="margin-right: 30px">
42 43
               退款类型:
43
-              <el-select v-model="value" placeholder="请选择">
44
+              <el-select v-model="refundtype" placeholder="请选择" @change="updaterefundtype">
44 45
                 <el-option
45
-                  v-for="item in [1, 2]"
46
-                  :key="item"
47
-                  :label="item"
48
-                  :value="item"
46
+                  v-for="item in refundtypelist"
47
+                  :key="item.name"
48
+                  :label="item.name"
49
+                  :value="item.value"
49 50
                 >
50 51
                 </el-option>
51 52
               </el-select>
@@ -53,12 +54,12 @@
53 54
 
54 55
             <div style="margin-right: 30px">
55 56
               审核状态:
56
-              <el-select v-model="status" placeholder="请选择">
57
+              <el-select v-model="examinetype" placeholder="请选择" @change="updateexaminetype">
57 58
                 <el-option
58
-                  v-for="item in [1, 2]"
59
-                  :key="item"
60
-                  :label="item"
61
-                  :value="item"
59
+                  v-for="item in examinelist"
60
+                  :key="item.name"
61
+                  :label="item.name"
62
+                  :value="item.value"
62 63
                 >
63 64
                 </el-option>
64 65
               </el-select>
@@ -67,11 +68,13 @@
67 68
             <div style="width: 465px">
68 69
               <span>日期查询:</span>
69 70
               <el-date-picker
70
-                v-model="date"
71
+                v-model="value1"
71 72
                 type="daterange"
72 73
                 range-separator="至"
73 74
                 start-placeholder="开始日期"
74 75
                 end-placeholder="结束日期"
76
+                format="yyyy-MM-dd"
77
+                value-format="yyyy-MM-dd"
75 78
               >
76 79
               </el-date-picker>
77 80
             </div>
@@ -99,43 +102,44 @@
99 102
 
100 103
           <el-table-column label="申请编号" align="center">
101 104
             <template slot-scope="scope">
102
-              <span></span>
105
+              <span>{{scope.row.deposit_code  ? scope.row.deposit_code  : ""}}</span>
103 106
             </template>
104 107
           </el-table-column>
105 108
           <el-table-column label="患者名称" align="center">
106 109
             <template slot-scope="scope">
107
-              <span></span>
110
+              <span>{{scope.row.his_name  ? scope.row.his_name  : ""}}</span>
108 111
             </template>
109 112
           </el-table-column>
110 113
 
111 114
           <el-table-column label="退款类型" align="center">
112 115
             <template slot-scope="scope">
113
-              <span></span>
116
+<!--              <span>{{scope.row.deposit_code  ? scope.row.deposit_code  : ""}}</span>-->
117
+              <span v-if="scope.row.deposit_status == 3">手动退款</span>
118
+              <span v-if="scope.row.deposit_status == 4">自动退费</span>
114 119
             </template>
115 120
           </el-table-column>
116 121
           <el-table-column label="退款金额" align="center">
117 122
             <template slot-scope="scope">
118
-              <span></span>
123
+              <span>{{scope.row.deposit  ? scope.row.deposit  : ""}}</span>
119 124
             </template>
120 125
           </el-table-column>
121 126
           <el-table-column label="退款状态" align="center">
122 127
             <template slot-scope="scope">
123
-              <span></span>
124
-            </template>
125
-          </el-table-column>
126
-          <el-table-column label="备注" align="center">
127
-            <template slot-scope="scope">
128
-              <span></span>
128
+<!--              <span>{{scope.row.deposit_code  ? scope.row.deposit_code  : ""}}</span>-->
129
+              <span v-if="scope.row.trial_status == 0 && scope.row.deposit_status == 3">未审核</span>
130
+              <span v-if="scope.row.trial_status == 1 && scope.row.deposit_status == 3">已审核</span>
131
+              <span v-if="scope.row.trial_status == 2 && scope.row.deposit_status == 3">审核拒绝</span>
132
+              <span v-if="scope.row.deposit_status == 4">-</span>
129 133
             </template>
130 134
           </el-table-column>
131 135
           <el-table-column label="申请人" align="center">
132 136
             <template slot-scope="scope">
133
-              <span></span>
137
+              <span>{{scope.row.name  ? scope.row.name  : ""}}</span>
134 138
             </template>
135 139
           </el-table-column>
136 140
           <el-table-column label="申请时间" align="center">
137 141
             <template slot-scope="scope">
138
-              <span></span>
142
+              <span>{{scope.row.starttime  ? scope.row.starttime  : ""}}</span>
139 143
             </template>
140 144
           </el-table-column>
141 145
           <el-table-column label="操作" align="center" width="350px">
@@ -157,7 +161,7 @@
157 161
             </template>
158 162
           </el-table-column>
159 163
         </el-table>
160
-        <div>充值金额合计:<span></span></div>
164
+<!--        <div>充值金额合计:<span>{{sum}}</span></div>-->
161 165
       </div>
162 166
 
163 167
       <el-dialog
@@ -166,74 +170,243 @@
166 170
         width="30%"
167 171
         :show-close="close"
168 172
       >
169
-        <refundAdd></refundAdd>
173
+        <refundAdd ref="refuna_add" v-bind="$attrs"></refundAdd>
170 174
         <span slot="footer" class="dialog-footer">
171 175
           <el-button @click="pass">审核通过</el-button>
172 176
           <el-button type="primary" @click="Submit">保 存</el-button>
173 177
         </span>
174 178
       </el-dialog>
179
+
180
+      <el-dialog
181
+        title="编辑退款"
182
+        :visible.sync="dialogVisible02"
183
+        width="30%"
184
+        :show-close="close"
185
+      >
186
+        <refundUpdate ref="refuna_up" v-bind="$attrs"></refundUpdate>
187
+        <span slot="footer" class="dialog-footer">
188
+<!--          <el-button @click="pass">审核通过</el-button>-->
189
+          <el-button type="primary" @click="Submit02">保 存</el-button>
190
+        </span>
191
+      </el-dialog>
175 192
     </div>
176 193
   </div>
177 194
 </template>
178 195
 <script>
179 196
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
180 197
 import refundAdd from "./Template/refundAdd.vue";
198
+import refundUpdate from "./Template/refundUpdate.vue";
199
+import {
200
+  refundlist,
201
+  deleterefund,
202
+  refundreview
203
+}from "@/api/deposit";
181 204
 export default {
182 205
   components: {
183 206
     BreadCrumb,
184 207
     refundAdd,
208
+    refundUpdate,
185 209
   },
186 210
   data() {
187 211
     return {
212
+      refundtypelist:[{name:"全部",value:0},{name:"手动退款",value: 3},{name:"自动退费",value: 4}],
213
+      examinelist:[{name:"全部",value:3},{name:"未审核",value: 0},{name:"已审核",value: 1},{name:"审核拒绝",value: 2}],
188 214
       status: "",
189 215
       value: "",
190 216
       crumbs: [
191 217
         { path: false, name: "押金管理" },
192 218
         { path: "/DepositManagement/DepositSearch", name: "充值详情" },
193 219
       ],
194
-      tableData: [{}, {}],
195
-      total: 0,
196
-      page: 1,
197
-      limit: 10,
198
-      keywords: "",
220
+      tableData: [],
221
+      multipleSelection: [],
222
+      // total: 0,
223
+      // page: 1,
224
+      // limit: 10,
225
+      keyword: "",
226
+      value1:"",
227
+      start_time:"",
228
+      end_time:"",
229
+      // sum:"",
199 230
       dialogVisible: false,
231
+      dialogVisible02:false,
200 232
       close: false,
201
-      date:""
233
+      refundtype: 0,//退款类型
234
+      examinetype: 3,//审核类型
235
+
202 236
     };
203 237
   },
204 238
 
239
+  created(){
240
+    this.search()
241
+  },
205 242
   methods: {
206 243
     // 初始化数据
207 244
     init() {},
245
+    updaterefundtype(){
246
+      console.log("refundtype",this.refundtype)
247
+    },
248
+    updateexaminetype(){
249
+      console.log("examinetype",this.examinetype)
250
+    },
208 251
 
209 252
     // 查询操作
210
-    search() {},
253
+    search() {
254
+      // alert("gagaga")
255
+      // console.log("value1",this.value1)
256
+      if (this.value1 != null){
257
+        if(this.value1[0] != undefined && this.value1[1] != undefined){
258
+          this.start_time = this.value1[0]
259
+          this.end_time = this.value1[1]
260
+        }
261
+      }else {
262
+        this.start_time = ""
263
+        this.end_time = ""
264
+      }
265
+      var params = {
266
+        keyword: this.keyword,
267
+        start_time: this.start_time,
268
+        end_time: this.end_time,
269
+        refundtype: this.refundtype,
270
+        examinetype: this.examinetype,
271
+      };
272
+      // console.log("params",params)
273
+      refundlist(params).then((res) => {
274
+        if (res.data.state == 1){
275
+          this.tableData = res.data.data.list;
276
+        }
277
+      })
278
+    },
211 279
 
212 280
     // 新增
213 281
     to_add() {
214 282
       this.dialogVisible = true;
283
+      this.$nextTick(() => {
284
+        this.$refs['refuna_add'].closePop();
285
+        this.$refs['refuna_add'].getcode();
286
+        this.$refs['refuna_add'].getusername();
287
+      })
215 288
     },
216 289
 
217 290
     // 编辑
218
-    edit(){},
291
+    edit(data,val){
292
+      if(data.trial_status != 0){
293
+        alert("当前状态不可编辑")
294
+          return
295
+      }
296
+      this.dialogVisible02 = true;
297
+      this.$nextTick(() => {
298
+        this.$refs['refuna_up'].getinformation(data, val);
299
+        this.$refs['refuna_up'].getusername();
300
+        this.$refs['refuna_up'].updateconfig();
301
+      })
302
+    },
219 303
 
220 304
     // 删除
221
-    toDelete(){},
305
+    toDelete(val,index) {
306
+      var params = {
307
+        id:val.id,
308
+      };
309
+      this.$confirm("是否确定删除?", {
310
+        confirmButtonText: "确 定",
311
+        cancelButtonText: "取 消",
312
+        type: "warning",
313
+      }).then(() => {
314
+        deleterefund(params).then((res) => {
315
+          if (res.data.state == 1) {
316
+            this.$message.success(res.data.data.list);
317
+          }else {
318
+            this.$message.error(res.data.msg);
319
+          }
320
+        })//刷新
321
+          .then(() =>{
322
+            this.search();
323
+          })
324
+          .catch((err) => {
325
+            console.log(err)
326
+          })
327
+      }).catch(() => {});
328
+    },
222 329
 
223 330
     // 审核通过
224
-    pass_exam() {},
331
+    pass_exam() {
332
+      if(this.multipleSelection.length < 1){
333
+        alert("未选择任何信息")
334
+        return
335
+      }
336
+      var tmp = "";
337
+      console.log("初始值",tmp)
338
+      for (var i=0;i < this.multipleSelection.length;i++){
339
+        tmp = tmp + this.multipleSelection[i].id + ","
340
+      }
341
+      var params = {
342
+        ids: tmp,
343
+        trial_status: 1,
344
+      }
345
+      refundreview(params).then((res) => {
346
+        if (res.data.state == 1){
347
+          this.$message.success("审核通过");
348
+          this.search();
349
+        }else {
350
+          this.$message.error("审核失败:" + res.data.msg);
351
+        }
352
+      })
353
+
354
+    },
225 355
 
226 356
     // 审核拒绝
227
-    reject_exam() {},
357
+    reject_exam() {
358
+      if(this.multipleSelection.length < 1){
359
+        alert("未选择任何信息")
360
+        return
361
+      }
362
+      var tmp = "";
363
+      console.log("初始值",tmp)
364
+      for (var i=0;i < this.multipleSelection.length;i++){
365
+        tmp = tmp + this.multipleSelection[i].id + ","
366
+      }
367
+      var params = {
368
+        ids: tmp,
369
+        trial_status: 2,
370
+      }
371
+      refundreview(params).then((res) => {
372
+        if (res.data.state == 1){
373
+          this.$message.success("审核拒绝成功");
374
+          this.search();
375
+        }else {
376
+          this.$message.error("审核拒绝失败:" + res.data.msg);
377
+        }
378
+      })
228 379
 
229
-    // 提交
230
-    Submit() {},
380
+    },
231 381
 
382
+    // 提交
383
+    Submit() {
384
+      this.$refs['refuna_add'].subfrom();
385
+      // setTimeout(() => {
386
+      //   this.$refs['rechange_details'].search();
387
+      // },500)
388
+    },
389
+    Submit02(){
390
+      this.$refs['refuna_up'].subfrom();
391
+    },
232 392
     // 退款申请审核
233
-    pass(){},
393
+    pass(){
394
+      this.$refs['refuna_add'].examine();
395
+    },
396
+    pli() {
397
+      // alert("父组件被调用!")
398
+      this.dialogVisible = false;
399
+    },
400
+    pli02() {
401
+      // alert("父组件被调用!")
402
+      this.dialogVisible02 = false;
403
+    },
234 404
 
235 405
     // 列表选择
236
-    handleSelectionChange(){}
406
+    handleSelectionChange(val){
407
+        this.multipleSelection = val
408
+        console.log("this.multipleSelection",this.multipleSelection)
409
+    }
237 410
   },
238 411
 };
239 412
 </script>

+ 79 - 16
src/xt_pages/DepositManagement/DepositSearch.vue Visa fil

@@ -1,4 +1,5 @@
1 1
 <template>
2
+<!-- 押金查询-->
2 3
   <div class="main-contain">
3 4
     <div class="position">
4 5
       <bread-crumb :crumbs="crumbs"></bread-crumb>
@@ -13,13 +14,22 @@
13 14
         "
14 15
       >
15 16
         <div>
16
-          <el-input
17
-            size="small"
18
-            style="width: 200px; margin-left: 10px"
19
-            class="filter-item"
20
-            placeholder="请输入患者名称"
21
-            v-model.trim="keywords"
22
-          />
17
+<!--          <el-input-->
18
+<!--            size="small"-->
19
+<!--            style="width: 200px; margin-left: 10px"-->
20
+<!--            class="filter-item"-->
21
+<!--            placeholder="请输入患者名称"-->
22
+<!--            v-model.trim="keyword"-->
23
+<!--          />-->
24
+          <el-select v-model.trim="keyword" clearable filterable placeholder="请输入患者名称" @select="handleSelect" ><!--@change="updateconfig1(h1)"-->
25
+            <el-option
26
+              v-for="item in users"
27
+              :key="item.id"
28
+              :label="item.name"
29
+              :value="item.id"
30
+            >
31
+            </el-option>
32
+          </el-select>
23 33
           <el-button
24 34
             size="small"
25 35
             class="filter-item"
@@ -43,12 +53,12 @@
43 53
         </el-table-column>
44 54
         <el-table-column label="患者名称" align="center">
45 55
           <template slot-scope="scope">
46
-            <span></span>
56
+            <span>{{ scope.row.his_patient_name ? scope.row.his_patient_name : "" }}</span>
47 57
           </template>
48 58
         </el-table-column>
49 59
         <el-table-column label="可用金额" align="center">
50 60
           <template slot-scope="scope">
51
-            <span>{{ scope.row.drug_spec ? scope.row.drug_spec : "" }}</span>
61
+            <span>{{ scope.row.deposit ? scope.row.deposit : "" }}</span>
52 62
           </template>
53 63
         </el-table-column>
54 64
         <el-table-column label="操作" align="center" width="450px">
@@ -81,6 +91,10 @@
81 91
 </template>
82 92
 <script>
83 93
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
94
+import {
95
+  gethisuser,
96
+  getuserlist
97
+}from "@/api/deposit";
84 98
 export default {
85 99
   components: {
86 100
     BreadCrumb,
@@ -91,20 +105,61 @@ export default {
91 105
         { path: false, name: "押金管理" },
92 106
         { path: "/DepositManagement/DepositSearch", name: "押金查询" },
93 107
       ],
94
-      tableData: [{}, {}],
108
+      tableData: [],
95 109
       total: 0,
96 110
       page: 1,
97 111
       limit: 10,
98
-      keywords:''
112
+      keyword:'',
113
+      users:[],//可用患者列表
99 114
     };
100 115
   },
116
+  created(){
117
+    this.init()
118
+    this.getuser()
119
+  },
101 120
 
102 121
   methods: {
103 122
     // 初始化数据
104
-    init() {},
123
+    init() {
124
+      //分页
125
+      var params = {
126
+        keyword: this.keyword,
127
+        page: this.page,
128
+        limit: this.limit,
129
+      };
130
+      getuserlist(params).then((res) =>{
131
+        if (res.data.state == 1){
132
+          this.total = res.data.data.total;
133
+          this.tableData = res.data.data.list;
134
+        }
135
+      })
136
+    },
137
+
138
+    //获取患者列表
139
+    getuser(){
140
+      var params = {};
141
+      gethisuser(params).then((res) =>{
142
+        if (res.data.state == 1){
143
+          this.users = res.data.data.list;
144
+        }
145
+        console.log("this.users",this.users)
146
+      })
147
+    },
105 148
 
106 149
     // 查询操作
107
-    search() {},
150
+    search() {
151
+      var params = {
152
+        keyword: this.keyword,
153
+        page: this.page,
154
+        limit: this.limit,
155
+      };
156
+      getuserlist(params).then((res) =>{
157
+        if (res.data.state == 1){
158
+          this.total = res.data.data.total;
159
+          this.tableData = res.data.data.list;
160
+        }
161
+      })
162
+    },
108 163
 
109 164
     // 页表操作
110 165
     handleSizeChange(val) {
@@ -115,13 +170,21 @@ export default {
115 170
       this.page = val;
116 171
       this.init();
117 172
     },
173
+    handleSelect(item){
174
+      this.keyword = item.id
175
+    },
176
+    updateconfig(){
177
+      console.log("keyword",this.keyword)
178
+    },
118 179
 
119 180
     // 流水详情
120
-    toDetails() {
121
-      this.$router.push({ path: "/DepositManagement/DepositDetails" });
181
+    toDetails(data,val) {
182
+      console.log("data",data)
183
+      console.log("data",val)
184
+      this.$router.push({ path: "/DepositManagement/DepositDetails",query:{key:data}});
122 185
     },
123 186
   },
124 187
 };
125 188
 </script>
126 189
 <style>
127
-</style>
190
+</style>

+ 36 - 9
src/xt_pages/DepositManagement/RechargeDetailsSummary.vue Visa fil

@@ -7,10 +7,10 @@
7 7
       <div style="width: 100%">
8 8
         <el-tabs v-model="activeName" @tab-click="handleClick">
9 9
           <el-tab-pane label="充值明细" name="first">
10
-            <RechangeDetails></RechangeDetails>
10
+            <RechangeDetails ref="rechange_details"></RechangeDetails>
11 11
           </el-tab-pane>
12 12
           <el-tab-pane label="充值汇总" name="second">
13
-            <RechargeSummary></RechargeSummary>
13
+            <RechargeSummary ref="recharge_summary"></RechargeSummary>
14 14
           </el-tab-pane>
15 15
         </el-tabs>
16 16
         <div
@@ -29,7 +29,7 @@
29 29
         :show-close="close"
30 30
       >
31 31
         <!-- <span>这是一段信息</span> -->
32
-        <RechangeAd></RechangeAd>
32
+        <RechangeAd ref="add_page" v-bind="$attrs"></RechangeAd>
33 33
         <span slot="footer" class="dialog-footer">
34 34
           <el-button @click="pass">审核通过</el-button>
35 35
           <el-button type="primary" @click="Submit">提 交</el-button>
@@ -66,16 +66,24 @@ export default {
66 66
       close: false,
67 67
     };
68 68
   },
69
-
70 69
   methods: {
71 70
     // 初始化数据
72
-    init() {},
71
+    init() {
72
+
73
+    },
73 74
 
74 75
     // 查询操作
75 76
     search() {},
76 77
     // 切换明细
77 78
     handleClick(tab, event) {
78
-      console.log(tab, event);
79
+      // console.log(tab, event);
80
+      if(tab.name == "first"){
81
+        // alert("充值明细")
82
+        this.$refs['rechange_details'].search();
83
+      }else {
84
+        // alert("充值汇总")
85
+        this.$refs['recharge_summary'].search();
86
+      }
79 87
     },
80 88
     // 页表操作
81 89
     handleSizeChange(val) {
@@ -95,15 +103,34 @@ export default {
95 103
     // 新增
96 104
     Add() {
97 105
       this.dialogVisible = true;
106
+      this.$nextTick(() => {
107
+        this.$refs['add_page'].closePop();
108
+        this.$refs['add_page'].getcode();
109
+        this.$refs['add_page'].getusername();
110
+      })
98 111
     },
99 112
 
100 113
     // 审核通过
101
-    pass() {},
114
+    pass() {
115
+      this.$refs['add_page'].examine();
116
+    },
102 117
 
103 118
     // 提交
104
-    Submit() {},
119
+    Submit() {
120
+      // this.$nextTick(() => {
121
+        this.$refs['add_page'].subfrom();
122
+        // setTimeout(() => {
123
+        this.$refs['rechange_details'].search();
124
+        // },500)
125
+
126
+      // })
127
+    },
128
+    pli() {
129
+      // alert("父组件被调用!")
130
+      this.dialogVisible = false;
131
+    },
105 132
   },
106 133
 };
107 134
 </script>
108 135
 <style>
109
-</style>
136
+</style>

+ 51 - 15
src/xt_pages/DepositManagement/Template/DeductionDetails.vue Visa fil

@@ -1,4 +1,5 @@
1 1
 <template>
2
+<!--  扣费明细-->
2 3
   <div class="main-contain">
3 4
     <div class="app-container">
4 5
       <div
@@ -16,7 +17,7 @@
16 17
               style="width: 200px; margin-left: 10px"
17 18
               class="filter-item"
18 19
               placeholder="请输入编号/患者名称"
19
-              v-model.trim="keywords"
20
+              v-model.trim="keyword"
20 21
             />
21 22
           </div>
22 23
 
@@ -28,6 +29,8 @@
28 29
               range-separator="至"
29 30
               start-placeholder="开始日期"
30 31
               end-placeholder="结束日期"
32
+              format="yyyy-MM-dd"
33
+              value-format="yyyy-MM-dd"
31 34
             >
32 35
             </el-date-picker>
33 36
           </div>
@@ -54,33 +57,33 @@
54 57
         </el-table-column>
55 58
         <el-table-column label="就诊号" align="center" width="300">
56 59
           <template slot-scope="scope">
57
-            <span></span>
60
+            <span>{{ scope.row.code	 ? scope.row.code : "" }}</span>
58 61
           </template>
59 62
         </el-table-column>
60 63
         <el-table-column label="患者名称" align="center">
61 64
           <template slot-scope="scope">
62
-            <span></span>
65
+            <span>{{ scope.row.name	 ? scope.row.name	 : "" }}</span>
63 66
           </template>
64 67
         </el-table-column>
65 68
 
66 69
         <el-table-column label="医收费类型" align="center">
67 70
           <template slot-scope="scope">
68
-            <span></span>
71
+            <span>{{ scope.row.chargetype	 ? scope.row.chargetype	 : "" }}</span>
69 72
           </template>
70 73
         </el-table-column>
71 74
         <el-table-column label="医疗费总额" align="center">
72 75
           <template slot-scope="scope">
73
-            <span></span>
76
+            <span>{{ scope.row.total	 ? scope.row.total	 : "" }}</span>
74 77
           </template>
75 78
         </el-table-column>
76 79
         <el-table-column label="押金支付金额" align="center">
77 80
           <template slot-scope="scope">
78
-            <span></span>
81
+            <span>{{ scope.row.decimal	 ? scope.row.decimal	 : "" }}</span>
79 82
           </template>
80 83
         </el-table-column>
81 84
         <el-table-column label="收费日期" align="center">
82 85
           <template slot-scope="scope">
83
-            <span></span>
86
+            <span>{{ scope.row.charge_date	 ? scope.row.charge_date	 : "" }}</span>
84 87
           </template>
85 88
         </el-table-column>
86 89
         <el-table-column label="操作" align="center" width="350px">
@@ -96,12 +99,15 @@
96 99
         </el-table-column>
97 100
       </el-table>
98 101
 
99
-      <div>押金支付金额合计:<span></span></div>
102
+      <div>押金支付金额合计:<span>{{sum}}</span></div>
100 103
     </div>
101 104
   </div>
102 105
 </template>
103 106
 <script>
104 107
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
108
+import {
109
+  deductiondetails
110
+}from "@/api/deposit";
105 111
 export default {
106 112
   components: {
107 113
     BreadCrumb,
@@ -112,21 +118,51 @@ export default {
112 118
         { path: false, name: "押金管理" },
113 119
         { path: "/DepositManagement/DepositSearch", name: "押金查询" },
114 120
       ],
115
-      tableData: [{}, {}],
116
-      total: 0,
117
-      page: 1,
118
-      limit: 10,
119
-      keywords: "",
121
+      tableData: [],
122
+      // total: 0,
123
+      // page: 1,
124
+      // limit: 10,
125
+      keyword: "",
120 126
       value1: "",
127
+      start_time:"",
128
+      end_time:"",
129
+      sum:""
121 130
     };
122 131
   },
123 132
 
133
+  created(){
134
+    this.search()
135
+  },
124 136
   methods: {
125 137
     // 初始化数据
126 138
     init() {},
127 139
 
128 140
     // 查询操作
129
-    search() {},
141
+    search() {
142
+      // this.value1 = ["2022-04-10","2022-05-10"],有空在改。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
143
+      // console.log("value1",this.value1)
144
+      if (this.value1 != null){
145
+        if(this.value1[0] != undefined && this.value1[1] != undefined){
146
+          this.start_time = this.value1[0]
147
+          this.end_time = this.value1[1]
148
+        }
149
+      }else {
150
+        this.start_time = ""
151
+        this.end_time = ""
152
+      }
153
+      var params = {
154
+        keyword: this.keyword,
155
+        start_time: this.start_time,
156
+        end_time: this.end_time,
157
+      };
158
+      console.log("params",params)
159
+      deductiondetails(params).then((res) => {
160
+        if (res.data.state == 1){
161
+          this.tableData = res.data.data.list;
162
+          this.sum = res.data.data.sum;
163
+        }
164
+      })
165
+    },
130 166
 
131 167
     // 查看详情
132 168
     Details() {},
@@ -134,4 +170,4 @@ export default {
134 170
 };
135 171
 </script>
136 172
 <style>
137
-</style>
173
+</style>

+ 46 - 12
src/xt_pages/DepositManagement/Template/DeductionSummary.vue Visa fil

@@ -1,4 +1,5 @@
1 1
 <template>
2
+<!--  扣费汇总-->
2 3
   <div class="main-contain">
3 4
     <div class="app-container">
4 5
       <div
@@ -16,7 +17,7 @@
16 17
               style="width: 200px; margin-left: 10px"
17 18
               class="filter-item"
18 19
               placeholder="请输入编号/患者名称"
19
-              v-model.trim="keywords"
20
+              v-model.trim="keyword"
20 21
             />
21 22
           </div>
22 23
 
@@ -28,6 +29,8 @@
28 29
               range-separator="至"
29 30
               start-placeholder="开始日期"
30 31
               end-placeholder="结束日期"
32
+              format="yyyy-MM-dd"
33
+              value-format="yyyy-MM-dd"
31 34
             >
32 35
             </el-date-picker>
33 36
           </div>
@@ -55,28 +58,31 @@
55 58
 
56 59
         <el-table-column label="患者名称" align="center">
57 60
           <template slot-scope="scope">
58
-            <span></span>
61
+            <span>{{ scope.row.name	 ? scope.row.name	 : "" }}</span>
59 62
           </template>
60 63
         </el-table-column>
61 64
 
62 65
         <el-table-column label="医疗费总额" align="center">
63 66
           <template slot-scope="scope">
64
-            <span></span>
67
+            <span>{{ scope.row.total	 ? scope.row.total	 : "" }}</span>
65 68
           </template>
66 69
         </el-table-column>
67 70
         <el-table-column label="押金支付金额" align="center">
68 71
           <template slot-scope="scope">
69
-            <span></span>
72
+            <span>{{ scope.row.decimal	 ? scope.row.decimal	 : "" }}</span>
70 73
           </template>
71 74
         </el-table-column>
72 75
       </el-table>
73 76
 
74
-      <div>押金支付金额合计:<span></span></div>
77
+      <div>押金支付金额合计:<span>{{sum}}</span></div>
75 78
     </div>
76 79
   </div>
77 80
 </template>
78 81
 <script>
79 82
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
83
+import {
84
+  desummary
85
+}from "@/api/deposit";
80 86
 export default {
81 87
   components: {
82 88
     BreadCrumb,
@@ -87,21 +93,49 @@ export default {
87 93
         { path: false, name: "押金管理" },
88 94
         { path: "/DepositManagement/DepositSearch", name: "押金查询" },
89 95
       ],
90
-      tableData: [{}, {}],
91
-      total: 0,
92
-      page: 1,
93
-      limit: 10,
94
-      keywords: "",
96
+      tableData: [{},{},{}],
97
+      // total: 0,
98
+      // page: 1,
99
+      // limit: 10,
100
+      keyword: "",
95 101
       value1: "",
102
+      start_time:"",
103
+      end_time:"",
104
+      sum:""
96 105
     };
97 106
   },
98 107
 
108
+  created(){
109
+    this.search()
110
+  },
99 111
   methods: {
100 112
     // 初始化数据
101 113
     init() {},
102 114
 
103 115
     // 查询操作
104
-    search() {},
116
+    search() {
117
+      if (this.value1 != null){
118
+        if(this.value1[0] != undefined && this.value1[1] != undefined){
119
+          this.start_time = this.value1[0]
120
+          this.end_time = this.value1[1]
121
+        }
122
+      }else {
123
+        this.start_time = ""
124
+        this.end_time = ""
125
+      }
126
+      var params = {
127
+        keyword: this.keyword,
128
+        start_time: this.start_time,
129
+        end_time: this.end_time,
130
+      };
131
+      console.log("params",params)
132
+      desummary(params).then((res) => {
133
+        if (res.data.state == 1){
134
+          this.tableData = res.data.data.list;
135
+          this.sum = res.data.data.sum;
136
+        }
137
+      })
138
+    },
105 139
 
106 140
     // 删除
107 141
     toDelete() {},
@@ -115,4 +149,4 @@ export default {
115 149
 };
116 150
 </script>
117 151
 <style>
118
-</style>
152
+</style>

+ 83 - 24
src/xt_pages/DepositManagement/Template/DepositDetails.vue Visa fil

@@ -1,4 +1,5 @@
1 1
 <template>
2
+<!--  押金流水-->
2 3
   <div class="main-contain">
3 4
     <div class="position">
4 5
       <bread-crumb :crumbs="crumbs"></bread-crumb>
@@ -13,10 +14,10 @@
13 14
         "
14 15
       >
15 16
         <div style="width: 200px">
16
-          <span>患者名称:</span>
17
+          <span>患者名称:{{name}}</span>
17 18
         </div>
18 19
         <div style="width: 200px">
19
-          <span>可用金额:</span>
20
+          <span>可用金额:{{sum}}</span>
20 21
         </div>
21 22
       </div>
22 23
       <div
@@ -35,17 +36,20 @@
35 36
             range-separator="至"
36 37
             start-placeholder="开始日期"
37 38
             end-placeholder="结束日期"
39
+            format="yyyy-MM-dd"
40
+            value-format="yyyy-MM-dd"
41
+            @change="search"
38 42
           >
39 43
           </el-date-picker>
40 44
         </div>
41 45
         <div style="width: 300px">
42 46
           <span>押金类型:</span>
43
-          <el-select v-model="value" placeholder="请选择">
47
+          <el-select v-model="deposit_status" placeholder="请选择" @change="search">
44 48
             <el-option
45
-              v-for="item in [1,2]"
46
-              :key="item"
47
-              :label="item"
48
-              :value="item"
49
+              v-for="item in depositlist"
50
+              :key="item.name"
51
+              :label="item.name"
52
+              :value="item.value"
49 53
             >
50 54
             </el-option>
51 55
           </el-select>
@@ -64,30 +68,42 @@
64 68
         </el-table-column>
65 69
         <el-table-column label="押金类型" align="center">
66 70
           <template slot-scope="scope">
67
-            <span></span>
71
+<!--            <span>{{ scope.row.deposit_status	 ? scope.row.deposit_status	 : "" }}</span>-->
72
+            <span v-if="scope.row.deposit_status == 1">充值</span>
73
+            <span v-if="scope.row.deposit_status == 2">扣费</span>
74
+            <span v-if="scope.row.deposit_status == 3">退款</span>
75
+            <span v-if="scope.row.deposit_status == 4">退费</span>
68 76
           </template>
69 77
         </el-table-column>
70 78
         <el-table-column label="充值/扣费单据编码" align="center">
71 79
           <template slot-scope="scope">
72
-            <span></span>
80
+            <span>{{ scope.row.deposit_code	 ? scope.row.deposit_code	 : "" }}</span>
73 81
           </template>
74 82
         </el-table-column>
75 83
         <el-table-column label="充值金额" align="center">
76 84
           <template slot-scope="scope">
77
-            <span></span>
85
+<!--            <span>{{ scope.row.deposit	 ? scope.row.deposit	 : "" }}</span>-->
86
+            <span v-if="scope.row.deposit_status == 1">{{ scope.row.deposit	 ? scope.row.deposit	 : "" }}</span>
87
+            <span v-if="scope.row.deposit_status == 2">-</span>
88
+            <span v-if="scope.row.deposit_status == 3">-</span>
89
+            <span v-if="scope.row.deposit_status == 4">{{ scope.row.deposit	 ? scope.row.deposit	 : "" }}</span>
78 90
           </template>
79 91
         </el-table-column>
80 92
         <el-table-column label="扣费金额" align="center">
81 93
           <template slot-scope="scope">
82
-            <span></span>
94
+<!--            <span>{{ scope.row.deposit	 ? scope.row.deposit	 : "" }}</span>-->
95
+            <span v-if="scope.row.deposit_status == 1">-</span>
96
+            <span v-if="scope.row.deposit_status == 2">{{ scope.row.deposit	 ? scope.row.deposit	 : "" }}</span>
97
+            <span v-if="scope.row.deposit_status == 3">{{ scope.row.deposit	 ? scope.row.deposit	 : "" }}</span>
98
+            <span v-if="scope.row.deposit_status == 4">-</span>
83 99
           </template>
84 100
         </el-table-column>
85 101
         <el-table-column label="可用金额" align="center">
86 102
           <template slot-scope="scope">
87
-            <span></span>
103
+            <span>{{ scope.row.surplus_deposit	 ? scope.row.surplus_deposit	 : "" }}</span>
88 104
           </template>
89 105
         </el-table-column>
90
-       
106
+
91 107
       </el-table>
92 108
 
93 109
     </div>
@@ -95,6 +111,10 @@
95 111
 </template>
96 112
 <script>
97 113
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
114
+import {
115
+  refundlist,
116
+  depositflow
117
+}from "@/api/deposit";
98 118
 export default {
99 119
   components: {
100 120
     BreadCrumb,
@@ -105,21 +125,60 @@ export default {
105 125
         { path: false, name: "押金管理" },
106 126
         { path: "/DepositManagement/DepositSearch", name: "流水详情" },
107 127
       ],
108
-      tableData: [{}, {}],
109
-      total: 0,
110
-      page: 1,
111
-      limit: 10,
112
-      keywords: "",
113
-      value1:""
128
+      tableData: [],
129
+      depositlist:[{name:"全部",value:0},{name:"充值",value:1},{name:"扣费",value:2},{name:"退款",value:3},{name:"退费",value:4}],
130
+      value1:"",
131
+      start_time:"",
132
+      end_time:"",
133
+      id: 0,
134
+      name: "",
135
+      sum:0,
136
+      deposit_status:0,
114 137
     };
115 138
   },
116
-
139
+  created(){
140
+    this.init();
141
+    this.search();
142
+  },
117 143
   methods: {
118 144
     // 初始化数据
119
-    init() {},
120
-
145
+    init() {
146
+      // this.$route.query.key
147
+      // console.log("this.$route.query.key",this.$route.query.key);
148
+      this.name = this.$route.query.key.his_patient_name
149
+      this.id = this.$route.query.key.his_patient_id
150
+    },
151
+    // lili(){
152
+    //   alert("触发")
153
+    // },
154
+    // ljc(){
155
+    //   alert(this.deposit_status)
156
+    // },
121 157
     // 查询操作
122
-    search() {},
158
+    search() {
159
+      if (this.value1 != null){
160
+        if(this.value1[0] != undefined && this.value1[1] != undefined){
161
+          this.start_time = this.value1[0]
162
+          this.end_time = this.value1[1]
163
+        }
164
+      }else {
165
+        this.start_time = ""
166
+        this.end_time = ""
167
+      }
168
+      var params = {
169
+        id: this.id,
170
+        start_time: this.start_time,
171
+        end_time: this.end_time,
172
+        deposit_status: this.deposit_status,
173
+      };
174
+      // console.log("params",params)
175
+      depositflow(params).then((res) => {
176
+        if (res.data.state == 1){
177
+          this.tableData = res.data.data.list;
178
+          this.sum = res.data.data.decimal;
179
+        }
180
+      })
181
+    },
123 182
   },
124 183
 };
125 184
 </script>
@@ -127,4 +186,4 @@ export default {
127 186
 /deep/ .el-range-separator {
128 187
   width: 10%;
129 188
 }
130
-</style>
189
+</style>

+ 102 - 23
src/xt_pages/DepositManagement/Template/RechargeDetails.vue Visa fil

@@ -1,4 +1,5 @@
1 1
 <template>
2
+<!--  充值明细-->
2 3
   <div class="main-contain">
3 4
     <div class="app-container">
4 5
       <div
@@ -16,7 +17,7 @@
16 17
               style="width: 200px; margin-left: 10px"
17 18
               class="filter-item"
18 19
               placeholder="请输入编号/患者名称"
19
-              v-model.trim="keywords"
20
+              v-model.trim="keyword"
20 21
             />
21 22
           </div>
22 23
 
@@ -28,6 +29,8 @@
28 29
               range-separator="至"
29 30
               start-placeholder="开始日期"
30 31
               end-placeholder="结束日期"
32
+              format="yyyy-MM-dd"
33
+              value-format="yyyy-MM-dd"
31 34
             >
32 35
             </el-date-picker>
33 36
           </div>
@@ -54,38 +57,41 @@
54 57
         </el-table-column>
55 58
         <el-table-column label="单据编号" align="center">
56 59
           <template slot-scope="scope">
57
-            <span></span>
60
+            <span>{{ scope.row.deposit_code	 ? scope.row.deposit_code	 : "" }}</span>
58 61
           </template>
59 62
         </el-table-column>
60 63
         <el-table-column label="患者名称" align="center">
61 64
           <template slot-scope="scope">
62
-            <span></span>
65
+            <span>{{ scope.row.his_name	 ? scope.row.his_name	 : "" }}</span>
63 66
           </template>
64 67
         </el-table-column>
65 68
 
66 69
         <el-table-column label="充值金额" align="center">
67 70
           <template slot-scope="scope">
68
-            <span></span>
71
+            <span>{{ scope.row.deposit	 ? scope.row.deposit	 : "" }}</span>
69 72
           </template>
70 73
         </el-table-column>
71 74
         <el-table-column label="审核状态" align="center">
72 75
           <template slot-scope="scope">
73
-            <span></span>
76
+<!--            <span>{{ scope.row.trial_status	 ? scope.row.trial_status	 : "" }}</span>-->
77
+            <span v-if="scope.row.trial_status == 1">审核通过</span>
78
+            <span v-if="scope.row.trial_status == 0">未审核</span>
79
+            <span v-if="scope.row.trial_status == 2">审核拒绝</span>
74 80
           </template>
75 81
         </el-table-column>
76 82
         <el-table-column label="创建人" align="center">
77 83
           <template slot-scope="scope">
78
-            <span></span>
84
+            <span>{{ scope.row.name	 ? scope.row.name	 : "" }}</span>
79 85
           </template>
80 86
         </el-table-column>
81 87
         <el-table-column label="充值时间" align="center">
82 88
           <template slot-scope="scope">
83
-            <span></span>
89
+            <span>{{ scope.row.starttime	 ? scope.row.starttime	 : "" }}</span>
84 90
           </template>
85 91
         </el-table-column>
86 92
         <el-table-column label="备注" align="center">
87 93
           <template slot-scope="scope">
88
-            <span></span>
94
+            <span>{{ scope.row.remarks	 ? scope.row.remarks	 : "" }}</span>
89 95
           </template>
90 96
         </el-table-column>
91 97
         <el-table-column label="操作" align="center" width="350px">
@@ -116,13 +122,18 @@
116 122
       </el-table>
117 123
 
118 124
       <div>
119
-          充值金额合计:<span></span>
125
+          充值金额合计:<span>{{sum}}</span>
120 126
       </div>
121 127
     </div>
122 128
   </div>
123 129
 </template>
124 130
 <script>
125 131
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
132
+import {
133
+  rechargedetails,
134
+  deletehistory,
135
+  updeposit
136
+}from "@/api/deposit";
126 137
 export default {
127 138
   components: {
128 139
     BreadCrumb,
@@ -133,34 +144,102 @@ export default {
133 144
         { path: false, name: "押金管理" },
134 145
         { path: "/DepositManagement/DepositSearch", name: "押金查询" },
135 146
       ],
136
-      tableData: [{}, {}],
137
-      total: 0,
138
-      page: 1,
139
-      limit: 10,
140
-      keywords: "",
141
-      value1:""
147
+      tableData: [],
148
+      // total: 0,
149
+      // page: 1,
150
+      // limit: 10,
151
+      keyword: "",
152
+      value1:"",//日期
153
+      start_time:"",
154
+      end_time:"",
155
+      sum:""
142 156
     };
143 157
   },
144
-
158
+  created(){
159
+    this.search()
160
+  },
145 161
   methods: {
146 162
     // 初始化数据
147 163
     init() {},
148 164
 
149 165
     // 查询操作
150
-    search() {},
166
+    search() {
167
+      // alert("gagaga")
168
+      console.log("value1",this.value1)
169
+      if (this.value1 != null){
170
+        if(this.value1[0] != undefined && this.value1[1] != undefined){
171
+          this.start_time = this.value1[0]
172
+          this.end_time = this.value1[1]
173
+        }
174
+      }else {
175
+        this.start_time = ""
176
+        this.end_time = ""
177
+      }
178
+      var params = {
179
+        keyword: this.keyword,
180
+        start_time: this.start_time,
181
+        end_time: this.end_time,
182
+      };
183
+      console.log("params",params)
184
+      rechargedetails(params).then((res) => {
185
+        if (res.data.state == 1){
186
+          this.tableData = res.data.data.list;
187
+          this.sum = res.data.data.sum;
188
+        }
189
+      })
190
+    },
151 191
 
152 192
     // 删除
153
-    toDelete() {},
193
+    toDelete(val,index) {
194
+      var params = {
195
+        id:val.id,
196
+      };
197
+      this.$confirm("是否确定删除?", {
198
+        confirmButtonText: "确 定",
199
+        cancelButtonText: "取 消",
200
+        type: "warning",
201
+      }).then(() => {
202
+        deletehistory(params).then((res) => {
203
+          if (res.data.state == 1) {
204
+            this.$message.success(res.data.data.list);
205
+          }else {
206
+            this.$message.error(res.data.msg);
207
+          }
208
+        })//刷新
209
+          .then(() =>{
210
+            this.search();
211
+          })
212
+          .catch((err) => {
213
+            console.log(err)
214
+          })
215
+      }).catch(() => {});
216
+    },
154 217
 
155 218
     // 审核
156
-    examine() {},
219
+    examine(val,index) {
220
+      var params = {
221
+        id:val.id,
222
+      };
223
+      updeposit(params).then((res) =>{
224
+        if (res.data.state == 1) {
225
+          this.$message.success(res.data.data.list);
226
+        }else {
227
+          this.$message.error(res.data.msg);
228
+        }
229
+      })
230
+      setTimeout(() => {
231
+        this.search();
232
+      },500)
233
+    },
157 234
 
158 235
     // 打印凭证
159
-    print(){
160
-      this.$router.push({path:"/DepositManagement/printindex"})
161
-    }
236
+    print(data,val){
237
+      console.log("data",data)
238
+      // alert("aaaaaaa")
239
+      this.$router.push({path:"/DepositManagement/printindex",query:{key:data}})
240
+    },
162 241
   },
163 242
 };
164 243
 </script>
165 244
 <style>
166
-</style>
245
+</style>

+ 51 - 17
src/xt_pages/DepositManagement/Template/RechargeSummary.vue Visa fil

@@ -1,4 +1,5 @@
1 1
 <template>
2
+<!--  充值汇总-->
2 3
   <div class="main-contain">
3 4
     <div class="app-container">
4 5
       <div
@@ -15,8 +16,8 @@
15 16
               size="small"
16 17
               style="width: 200px; margin-left: 10px"
17 18
               class="filter-item"
18
-              placeholder="请输入编号/患者名称"
19
-              v-model.trim="keywords"
19
+              placeholder="请输入患者名称"
20
+              v-model.trim="keyword"
20 21
             />
21 22
           </div>
22 23
 
@@ -28,6 +29,8 @@
28 29
               range-separator="至"
29 30
               start-placeholder="开始日期"
30 31
               end-placeholder="结束日期"
32
+              format="yyyy-MM-dd"
33
+              value-format="yyyy-MM-dd"
31 34
             >
32 35
             </el-date-picker>
33 36
           </div>
@@ -52,34 +55,37 @@
52 55
       >
53 56
         <el-table-column type="index" label="序号" align="center" width="200">
54 57
         </el-table-column>
55
-        
58
+
56 59
         <el-table-column label="患者名称" align="center">
57 60
           <template slot-scope="scope">
58
-            <span></span>
61
+            <span>{{ scope.row.his_name	 ? scope.row.his_name	 : "" }}</span>
59 62
           </template>
60 63
         </el-table-column>
61 64
 
62 65
         <el-table-column label="充值金额" align="center">
63 66
           <template slot-scope="scope">
64
-            <span></span>
67
+            <span>{{ scope.row.sum_decimal	 ? scope.row.sum_decimal	 : "" }}</span>
65 68
           </template>
66 69
         </el-table-column>
67 70
         <el-table-column label="押金余额" align="center">
68 71
           <template slot-scope="scope">
69
-            <span></span>
72
+            <span>{{ scope.row.decimal	 ? scope.row.decimal	 : "" }}</span>
70 73
           </template>
71 74
         </el-table-column>
72
-        
75
+
73 76
       </el-table>
74 77
 
75 78
       <div>
76
-          充值金额合计:<span></span>
79
+          充值金额合计:<span>{{sum}}</span>
77 80
       </div>
78 81
     </div>
79 82
   </div>
80 83
 </template>
81 84
 <script>
82 85
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
86
+import {
87
+  rechargesummary
88
+}from "@/api/deposit";
83 89
 export default {
84 90
   components: {
85 91
     BreadCrumb,
@@ -90,21 +96,49 @@ export default {
90 96
         { path: false, name: "押金管理" },
91 97
         { path: "/DepositManagement/DepositSearch", name: "押金查询" },
92 98
       ],
93
-      tableData: [{}, {}],
94
-      total: 0,
95
-      page: 1,
96
-      limit: 10,
97
-      keywords: "",
98
-      value1:""
99
+      tableData: [],
100
+      // total: 0,
101
+      // page: 1,
102
+      // limit: 10,
103
+      keyword: "",
104
+      value1:"",
105
+      start_time:"",
106
+      end_time:"",
107
+      sum:""
99 108
     };
100 109
   },
101
-
110
+  created(){
111
+    this.search()
112
+  },
102 113
   methods: {
103 114
     // 初始化数据
104 115
     init() {},
105 116
 
106 117
     // 查询操作
107
-    search() {},
118
+    search() {
119
+      // console.log("value1",this.value1)
120
+      if (this.value1 != null){
121
+        if(this.value1[0] != undefined && this.value1[1] != undefined){
122
+          this.start_time = this.value1[0]
123
+          this.end_time = this.value1[1]
124
+        }
125
+      }else {
126
+        this.start_time = ""
127
+        this.end_time = ""
128
+      }
129
+      var params = {
130
+        keyword: this.keyword,
131
+        start_time: this.start_time,
132
+        end_time: this.end_time,
133
+      };
134
+      console.log("params",params)
135
+      rechargesummary(params).then((res) => {
136
+        if (res.data.state == 1){
137
+          this.tableData = res.data.data.list;
138
+          this.sum = res.data.data.sum;
139
+        }
140
+      })
141
+    },
108 142
 
109 143
     // 删除
110 144
     toDelete() {},
@@ -118,4 +152,4 @@ export default {
118 152
 };
119 153
 </script>
120 154
 <style>
121
-</style>
155
+</style>

+ 95 - 7
src/xt_pages/DepositManagement/Template/add_page.vue Visa fil

@@ -1,14 +1,25 @@
1 1
 <template>
2
+<!--  新增押金中间的部分-->
2 3
   <div>
3
-    <el-form ref="form" :model="form" label-width="80px">
4
+    <el-form ref="form" :model="form" :rules="rules" label-width="80px" >
4 5
       <el-form-item label="押金编号">
5
-        <span>{{form.id}}</span>
6
+        <span>{{form.code}}</span>
6 7
       </el-form-item>
7
-      <el-form-item label="患者名称">
8
-        <el-input v-model="form.patient_name"></el-input>
8
+      <el-form-item label="患者名称" prop="patient_name">
9
+<!--        <el-input v-model="form.patient_name"></el-input>-->
10
+        <el-select v-model="form.patient_name" clearable filterable placeholder="请输入患者名称" @select="handleSelect" ><!--@change="updateconfig1(h1)"-->
11
+          <el-option
12
+            v-for="item in users"
13
+            :key="item.id"
14
+            :label="item.name"
15
+            :value="item.id"
16
+          >
17
+          </el-option>
18
+        </el-select>
19
+
9 20
       </el-form-item>
10
-      <el-form-item label="押金金额">
11
-        <el-input v-model="form.money"></el-input>
21
+      <el-form-item label="押金金额" prop="money">
22
+        <el-input v-model="form.money" ></el-input>
12 23
       </el-form-item>
13 24
       <el-form-item label="备注">
14 25
         <el-input type="textarea" v-model="form.remarks"></el-input>
@@ -17,17 +28,94 @@
17 28
   </div>
18 29
 </template>
19 30
 <script>
31
+import {
32
+  getdepositcode,
33
+  gethisuser,
34
+  adddeposit
35
+}from "@/api/deposit";
20 36
 export default {
21 37
   data() {
22 38
     return {
23 39
       form: {
24 40
         remarks:"",
25
-        id:"HSG47565",
41
+        code:"",
26 42
         patient_name:"",
27 43
         money:0
28 44
       },
45
+      users:[],//可用患者列表
46
+      trial_status:0,
47
+      //表单验证规则
48
+      rules: {
49
+        patient_name:[{
50
+          required:true,message:"患者姓名不能为空",trigger: "change"
51
+        }],
52
+        money:[{
53
+          required:true,message:"押金金额不能为空",trigger: "change"
54
+        }],
55
+      },
29 56
     };
30 57
   },
58
+  created(){
59
+    // this.getusername()
60
+  },
61
+  methods:{
62
+    getcode(){
63
+      var params = {}
64
+      getdepositcode(params).then((res) => {
65
+        if(res.data.state == 1){
66
+          this.form.code = res.data.data.list;
67
+        }
68
+      })
69
+    },
70
+    //获取患者列表
71
+    getusername(){
72
+      var params = {};
73
+      gethisuser(params).then((res) =>{
74
+        if (res.data.state == 1){
75
+          this.users = res.data.data.list;
76
+        }
77
+      })
78
+    },
79
+    //提交
80
+    subfrom(){
81
+      // console.log("========")
82
+      // this.$parent.$parent.pli();
83
+      // console.log("子组件",this.$parent.$parent)
84
+      // console.log("========")
85
+      var params = {
86
+        code: this.form.code,
87
+        his_patient_id: this.form.patient_name,
88
+        deposit: this.form.money,
89
+        remarks: this.form.remarks,
90
+        trial_status: this.trial_status,
91
+      }
92
+      adddeposit(params).then((res) =>{
93
+        if (res.data.state == 1){
94
+          this.$message.success("添加成功");
95
+          // this.closePop();
96
+          this.$parent.$parent.pli();
97
+          this.$parent.$parent.search();
98
+        }else {
99
+          this.$message.error("新增失败:" + res.data.msg);
100
+        }
101
+      })
102
+    },
103
+    handleSelect(item){
104
+      this.form.patient_name = item.id
105
+    },
106
+    //审核通过
107
+    examine(){
108
+      this.trial_status = 1
109
+    },
110
+    //清除表单数据
111
+    closePop(){
112
+      // alert("清除");
113
+      this.form.patient_name = "";
114
+      this.form.remarks = "";
115
+      this.form.money = 0;
116
+      this.trial_status = 0;
117
+    },
118
+  },
31 119
 };
32 120
 </script>
33 121
 

+ 109 - 11
src/xt_pages/DepositManagement/Template/refundAdd.vue Visa fil

@@ -1,33 +1,131 @@
1 1
 <template>
2 2
   <div>
3
-    <el-form ref="form" :model="form" label-width="80px">
3
+    <el-form ref="form" :model="form" :rules="rules" label-width="80px">
4 4
       <el-form-item label="申请编号">
5
-        <span>{{form.id}}</span>
5
+        <span>{{form.code}}</span>
6 6
       </el-form-item>
7
-      <el-form-item label="患者名称">
8
-        <el-input v-model="form.patient_name"></el-input>
7
+      <el-form-item label="患者名称" prop="patient_name">
8
+<!--        <el-input v-model="form.patient_name"></el-input>-->
9
+        <el-select v-model="form.patient_name" clearable filterable placeholder="请输入患者名称" @select="handleSelect" @change="updateconfig"><!--@change="updateconfig1(h1)"-->
10
+          <el-option
11
+            v-for="item in users"
12
+            :key="item.id"
13
+            :label="item.name"
14
+            :value="item.id"
15
+          >
16
+          </el-option>
17
+        </el-select>
9 18
       </el-form-item>
10
-      <el-form-item label="押金余额">
11
-        <span>{{form.id}}</span>
19
+      <el-form-item label="押金余额" prop="decote">
20
+        <span>{{decote}}</span>
12 21
       </el-form-item>
13
-     <el-form-item label="退款金额">
14
-        <el-input v-model="form.patient_name"></el-input>元
22
+     <el-form-item label="退款金额" prop="money">
23
+        <el-input v-model="form.money"></el-input>元
15 24
       </el-form-item>
16 25
     </el-form>
17 26
   </div>
18 27
 </template>
19 28
 <script>
29
+import {
30
+  getdeletecode,
31
+  gethisuser,
32
+  idtobalance,
33
+  refundapplication
34
+}from "@/api/deposit";
20 35
 export default {
21 36
   data() {
22 37
     return {
23 38
       form: {
24 39
         remarks:"",
25
-        id:"HSG47565",
26
-        patient_name:"",
27
-        money:0
40
+        code:"",//编号
41
+        patient_name:"",//患者名称
42
+        money:0//退款金额
43
+      },
44
+      users:[],//可用患者列表
45
+      trial_status:0,//审核
46
+      decote:0,//押金余额
47
+      rules: {
48
+        patient_name:[{
49
+          required:true,message:"患者姓名不能为空",trigger: "change"
50
+        }],
51
+        money:[{
52
+          required:true,message:"退款金额不能为空",trigger: "change"
53
+        }],
28 54
       },
29 55
     };
30 56
   },
57
+  methods:{
58
+    //获取编号
59
+    getcode(){
60
+      console.log("decote获取编号",this.decote)
61
+      var params = {}
62
+      getdeletecode(params).then((res) => {
63
+        if(res.data.state == 1){
64
+          this.form.code = res.data.data.list;
65
+        }
66
+      })
67
+    },
68
+    //获取患者列表
69
+    getusername(){
70
+      console.log("decote获取患者列表",this.decote)
71
+      var params = {};
72
+      gethisuser(params).then((res) =>{
73
+        if (res.data.state == 1){
74
+          this.users = res.data.data.list;
75
+        }
76
+      })
77
+    },
78
+    //获取用户押金余额
79
+    updateconfig(){
80
+      console.log("this.name",this.form.patient_name);
81
+      var params = {
82
+        his_patient_id: this.form.patient_name,
83
+      }
84
+      idtobalance(params).then((res) => {
85
+        if (res.data.state == 1){
86
+          this.decote = res.data.data.list;
87
+        }
88
+      })
89
+    },
90
+    handleSelect(item){
91
+      this.form.patient_name = item.id;
92
+
93
+    },
94
+
95
+    //提交
96
+    subfrom(){
97
+      var params = {
98
+        code: this.form.code,
99
+        his_patient_id: this.form.patient_name,
100
+        deposit: this.form.money,
101
+        trial_status: this.trial_status,
102
+      }
103
+      refundapplication(params).then((res) =>{
104
+        if (res.data.state == 1){
105
+          this.$message.success("添加成功");
106
+          // this.closePop();
107
+          this.$parent.$parent.pli();
108
+          this.$parent.$parent.search();
109
+        }else {
110
+          this.$message.error("新增失败:" + res.data.msg);
111
+        }
112
+      })
113
+    },
114
+    //审核通过
115
+    examine(){
116
+      this.trial_status = 1
117
+      alert(this.trial_status)
118
+    },
119
+    //清除表单数据
120
+    closePop(){
121
+      // alert("清除");
122
+      this.form.patient_name = "";
123
+      this.form.remarks = "";
124
+      this.form.money = 0;
125
+      this.trial_status = 0;
126
+      this.decote = 0;
127
+    },
128
+  }
31 129
 };
32 130
 </script>
33 131
 

+ 142 - 0
src/xt_pages/DepositManagement/Template/refundUpdate.vue Visa fil

@@ -0,0 +1,142 @@
1
+<template>
2
+  <div>
3
+    <el-form ref="form" :model="form" :rules="rules" label-width="80px">
4
+      <el-form-item label="申请编号">
5
+        <span>{{form.code}}</span>
6
+      </el-form-item>
7
+      <el-form-item label="患者名称" prop="patient_name">
8
+        <!--        <el-input v-model="form.patient_name"></el-input>-->
9
+        <el-select v-model="form.patient_name" clearable filterable placeholder="请输入患者名称" @select="handleSelect" @change="updateconfig"><!--@change="updateconfig1(h1)"-->
10
+          <el-option
11
+            v-for="item in users"
12
+            :key="item.id"
13
+            :label="item.name"
14
+            :value="item.id"
15
+          >
16
+          </el-option>
17
+        </el-select>
18
+      </el-form-item>
19
+      <el-form-item label="押金余额" prop="decote">
20
+        <span>{{decote}}</span>
21
+      </el-form-item>
22
+      <el-form-item label="退款金额" prop="money">
23
+        <el-input v-model="form.money"></el-input>元
24
+      </el-form-item>
25
+    </el-form>
26
+  </div>
27
+</template>
28
+<script>
29
+import {
30
+  gethisuser,
31
+  idtobalance,
32
+  changerefund
33
+}from "@/api/deposit";
34
+export default {
35
+  data() {
36
+    return {
37
+      id:"",
38
+      form: {
39
+        remarks:"",
40
+        code:"",//编号
41
+        patient_name:"",//患者名称
42
+        money:0//退款金额
43
+      },
44
+      users:[],//可用患者列表
45
+      trial_status:0,//审核
46
+      decote:0,//押金余额
47
+      rules: {
48
+        patient_name:[{
49
+          required:true,message:"患者姓名不能为空",trigger: "change"
50
+        }],
51
+        money:[{
52
+          required:true,message:"退款金额不能为空",trigger: "change"
53
+        }],
54
+      },
55
+    };
56
+  },
57
+  methods:{
58
+    //获取信息
59
+    getinformation(data,type){
60
+      this.form.code = data.deposit_code;
61
+      this.form.patient_name = data.his_patient_id;
62
+      this.form.money = data.deposit;
63
+      this.trial_status = data.trial_status,
64
+      this.id = data.id;
65
+    },
66
+    //获取患者列表
67
+    getusername(){
68
+      console.log("decote获取患者列表",this.decote)
69
+      var params = {};
70
+      gethisuser(params).then((res) =>{
71
+        if (res.data.state == 1){
72
+          this.users = res.data.data.list;
73
+        }
74
+      })
75
+    },
76
+    //获取用户押金余额
77
+    updateconfig(){
78
+      console.log("this.name",this.form.patient_name);
79
+      var params = {
80
+        his_patient_id: this.form.patient_name,
81
+      }
82
+      idtobalance(params).then((res) => {
83
+        if (res.data.state == 1){
84
+          this.decote = res.data.data.list;
85
+        }
86
+      })
87
+    },
88
+    handleSelect(item){
89
+      this.form.patient_name = item.id;
90
+
91
+    },
92
+
93
+    //提交
94
+    subfrom(){
95
+      var params = {
96
+        id: this.id,
97
+        code: this.form.code,
98
+        his_patient_id: this.form.patient_name,
99
+        deposit: this.form.money,
100
+        trial_status: this.trial_status,
101
+      }
102
+      changerefund(params).then((res) =>{
103
+        if (res.data.state == 1){
104
+          this.$message.success("保存成功");
105
+          // this.closePop();
106
+          this.$parent.$parent.pli02();
107
+          this.$parent.$parent.search();
108
+        }else {
109
+          this.$message.error("保存失败:" + res.data.msg);
110
+        }
111
+      })
112
+    },
113
+    //审核通过
114
+    examine(){
115
+      if(this.trial_status == 1){
116
+        alert("已审核")
117
+      }
118
+      this.trial_status = 1
119
+
120
+    },
121
+    //清除表单数据
122
+    closePop(){
123
+      // alert("清除");
124
+      this.form.patient_name = "";
125
+      this.form.remarks = "";
126
+      this.form.money = 0;
127
+      this.trial_status = 0;
128
+      this.decote = 0;
129
+    },
130
+  }
131
+};
132
+</script>
133
+
134
+<style scoped>
135
+.el-input{
136
+  width: 50%;
137
+}
138
+
139
+.el-textarea{
140
+  width: 65%;
141
+}
142
+</style>

+ 35 - 3
src/xt_pages/DepositManagement/print/printindex.vue Visa fil

@@ -12,17 +12,19 @@
12 12
         <div class="dialysis-print-order">
13 13
           <div class="print">
14 14
             <h2>收据凭证</h2>
15
-            <p>收款日期: 2022年4月27日</p>
15
+            <p>收款日期: {{ time }}</p>
16 16
             <div class="content">
17 17
               <div style="display: flex; padding: 0 30px">
18 18
                 <div style="display: flex">
19 19
                   <div>收款单位:</div>
20
+                  <span>{{name}}</span>
20 21
                   <div
21 22
                     style="min-width: 224px; border-bottom: 1px solid #000"
22 23
                   ></div>
23 24
                 </div>
24 25
                 <div style="display: flex">
25 26
                   <div>收款方式:</div>
27
+                  <span>现金</span>
26 28
                   <div
27 29
                     style="min-width: 224px; border-bottom: 1px solid #000"
28 30
                   ></div>
@@ -30,13 +32,15 @@
30 32
               </div>
31 33
               <div style="display: flex; padding: 0 30px">
32 34
                 <div>人民币:</div>
33
-                ¥
35
+                ¥{{money}}
34 36
                 <div
35 37
                   style="min-width: 225px; border-bottom: 1px solid #000"
36 38
                 ></div>
37 39
               </div>
38 40
               <div style="display: flex; padding: 0 30px">
39 41
                 <div>收款是由:</div>
42
+<!--                <span>{{ li }}</span>-->
43
+                <span>预交押金</span>
40 44
                 <div style="width: 86%; border-bottom: 1px solid #000"></div>
41 45
               </div>
42 46
             </div>
@@ -48,6 +52,9 @@
48 52
 </template>
49 53
 <script>
50 54
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
55
+import {
56
+  getorgname
57
+}from "@/api/deposit";
51 58
 export default {
52 59
   components: {
53 60
     BreadCrumb,
@@ -58,9 +65,34 @@ export default {
58 65
         { path: false, name: "押金管理" },
59 66
         { path: "/DepositManagement/DepositSearch", name: "打印凭证" },
60 67
       ],
68
+      name:"",//机构名称
69
+      time:"",//日期
70
+      money:"",//金额
61 71
     };
62 72
   },
73
+  created(){
74
+    this.init();
75
+    this.getname();
76
+  },
63 77
   methods: {
78
+    //获取机构名称
79
+    getname(){
80
+      var params = {};
81
+      getorgname(params).then((res) =>{
82
+        if (res.data.state == 1){
83
+          this.name = res.data.data.list;
84
+        }
85
+      })
86
+    },
87
+    init(){
88
+      this.money = this.$route.query.key.deposit
89
+      var tmp = this.$route.query.key.starttime
90
+      this.time = tmp.slice(0,4)+"年"+tmp.slice(5,7)+"月"+tmp.slice(8,10)+"日"
91
+      // this.li = this.time.slice(0,4)
92
+      // alert(this.time.slice(0,4))
93
+      // alert(this.time.slice(5,7))
94
+      // alert(this.time.slice(8,10))
95
+    },
64 96
     to_print() {
65 97
       const style =
66 98
         '@media print {.dialysis-print-order{width:960px;margin:0 auto} .print h2{text-align: center;} .print p{width: 85%;text-align: right;} .content{width: 70%;height: 250px;border: 1px solid #000;margin: 20px auto;display: flex;flex-direction: column;justify-content: space-evenly;}';
@@ -99,4 +131,4 @@ export default {
99 131
   flex-direction: column;
100 132
   justify-content: space-evenly;
101 133
 }
102
-</style>
134
+</style>