Przeglądaj źródła

缴费页面迁移

Your Name 2 lat temu
rodzic
commit
37dc67e9ff

+ 59
- 26
src/views/caseManagement/caseList.vue Wyświetl plik

@@ -165,15 +165,18 @@
165 165
             v-hasPermi="['monitor:online:forceLogout']"
166 166
             >立案审查</el-button
167 167
           >
168
-          <el-button
169
-            size="mini"
170
-            type="text"
171
-            icon="el-icon-tickets"
172
-            @click="viewpaymentRow(scope.row)"
173
-            v-if="scope.row.caseStatus == 2"
174
-            v-hasPermi="['monitor:online:forceLogout']"
175
-            >查看缴费</el-button
176
-          >
168
+          <el-popconfirm title="是否进行缴费" @confirm="payStatus(scope.row)">
169
+            <el-button
170
+              size="mini"
171
+              type="text"
172
+              slot="reference"
173
+              icon="el-icon-tickets"
174
+              v-if="scope.row.caseStatus == 2"
175
+              v-hasPermi="['monitor:online:forceLogout']"
176
+              >缴费</el-button
177
+            >
178
+          </el-popconfirm>
179
+
177 180
           <!-- <el-button
178 181
             size="mini"
179 182
             type="text"
@@ -304,11 +307,19 @@
304 307
     ></adjudicaterecordDialog>
305 308
     <!-- 开庭审理 -->
306 309
     <trialincourtDialog
307
-    :showtrialincourt="showtrialincourt"
308
-    :adjudicatename="adjudicatename"
309
-    :form="form"
310
-    @canceltrialincourt="canceltrialincourt"
310
+      :showtrialincourt="showtrialincourt"
311
+      :adjudicatename="adjudicatename"
312
+      :form="form"
313
+      @canceltrialincourt="canceltrialincourt"
311 314
     ></trialincourtDialog>
315
+    <!-- 缴费 -->
316
+    <payDialog
317
+      :openPay="openPay"
318
+      :payTitle="payTitle"
319
+      :form="form"
320
+      :payForm="payForm"
321
+      @paycancelRow="paycancelRow"
322
+    ></payDialog>
312 323
   </div>
313 324
 </template>
314 325
 
@@ -319,14 +330,17 @@ import formateCourtDialog from "./components/formateCourtDialog.vue";
319 330
 import courtReviewDialog from "./components/courtReviewDialog.vue";
320 331
 import choosetrialmethodDaiog from "./components/choosetrialmethodDaiog.vue";
321 332
 import adjudicaterecordDialog from "./components/adjudicaterecordDialog.vue";
322
-import trialincourtDialog from './components/trialincourtDialog.vue';
333
+import trialincourtDialog from "./components/trialincourtDialog.vue";
334
+import payDialog from "./components/payDialog.vue";
323 335
 
336
+import { caseApplicationDetail } from "@/api/pay/pay";
324 337
 import {
325 338
   caseApply,
326 339
   removeCaseApply,
327 340
   submitCaseApply,
328 341
   selectCaseApply,
329 342
 } from "@/api/caseAccess/caseEntry";
343
+
330 344
 export default {
331 345
   name: "caseList",
332 346
   dicts: ["case_status"],
@@ -337,7 +351,8 @@ export default {
337 351
     courtReviewDialog,
338 352
     choosetrialmethodDaiog,
339 353
     adjudicaterecordDialog,
340
-    trialincourtDialog
354
+    trialincourtDialog,
355
+    payDialog,
341 356
   },
342 357
   data() {
343 358
     return {
@@ -370,10 +385,13 @@ export default {
370 385
       showformateCourt: false, //组庭界面显示
371 386
       showcourtReview: false, //组庭审核页面
372 387
       showchoosetrialmethod: false, //选择仲裁方式页面
373
-      choosetrialmethodata:{},
388
+      choosetrialmethodata: {},
374 389
       showadjudicaterecord: false, //书面审理弹框
375
-      adjudicatename: {},//书面仲裁(被)申请人姓名
390
+      adjudicatename: {}, //书面仲裁(被)申请人姓名
376 391
       showtrialincourt: false, //开庭审理
392
+      openPay: false, //缴费弹框
393
+      payTitle: "",
394
+      payForm: {},
377 395
     };
378 396
   },
379 397
   created() {
@@ -491,10 +509,26 @@ export default {
491 509
         })
492 510
         .catch(() => {});
493 511
     },
494
-    // 查看缴费
495
-    viewpaymentRow(row) {
496
-      console.log(row, "查看缴费");
512
+    // 取消缴费
513
+    paycancelRow(row) {
514
+      this.openPay = false;
515
+    },
516
+    payStatus(val) {
517
+      this.getDetail({ id: val.id });
518
+      this.openPay = true;
519
+      this.payTitle = "缴费";
520
+    },
521
+    getDetail(parms) {
522
+      caseApplicationDetail(parms).then((res) => {
523
+        if (res.data.caseStatus == 1) {
524
+          res.data.caseStatusName = "待缴费";
525
+        }
526
+        this.form = res.data;
527
+        this.payForm.feePayable = res.data.feePayable;
528
+        this.payForm.caseId = res.data.id;
529
+      });
497 530
     },
531
+
498 532
     // 组庭
499 533
     // formationcourtRow(row) {
500 534
     //   console.log(row, "组庭");
@@ -535,7 +569,7 @@ export default {
535 569
       // console.log(row, "书面审理");
536 570
       this.showadjudicaterecord = true;
537 571
       this.form = row;
538
-      this.getInfo(row)
572
+      this.getInfo(row);
539 573
     },
540 574
     canceladjudicaterecord() {
541 575
       this.showadjudicaterecord = false;
@@ -545,10 +579,10 @@ export default {
545 579
       console.log(row, "开庭审理");
546 580
       this.showtrialincourt = true;
547 581
       this.form = row;
548
-      this.getInfo(row)
582
+      this.getInfo(row);
549 583
     },
550 584
     canceltrialincourt() {
551
-        this.showtrialincourt = false;
585
+      this.showtrialincourt = false;
552 586
     },
553 587
     //  生成裁决书
554 588
     generateawardRow(row) {
@@ -562,15 +596,14 @@ export default {
562 596
     getInfo(row) {
563 597
       const id = row.id;
564 598
       selectCaseApply({ id }).then((res) => {
565
-        console.log(res,'nnnnnnnnnnnn');
566 599
         // this.visible = true;
567 600
         // this.formData = res.data;
568 601
         this.adjudicatename = {
569 602
           applicantName: res.data.applicantName,
570 603
           respondentName: res.data.respondentName,
571 604
           feePayable: res.data.feePayable,
572
-          hearDate: res.data.hearDate
573
-        }
605
+          hearDate: res.data.hearDate,
606
+        };
574 607
         this.initpaymentArr = [];
575 608
         this.initpaymentArr1 = [];
576 609
         res.data.caseAffiliates.forEach((item) => {

+ 138
- 0
src/views/caseManagement/components/payDialog.vue Wyświetl plik

@@ -0,0 +1,138 @@
1
+<template>
2
+  <div>
3
+    <el-dialog
4
+      :title="payTitle"
5
+      :visible.sync="openPay"
6
+      v-if="openPay"
7
+      width="800px"
8
+      append-to-body
9
+      :destroy-on-close="true"
10
+    >
11
+      <el-descriptions title="订单信息">
12
+        <el-descriptions-item label="案件编号:">{{
13
+          form.caseNum
14
+        }}</el-descriptions-item>
15
+        <el-descriptions-item label="申请人:">{{
16
+          form.applicant
17
+        }}</el-descriptions-item>
18
+        <el-descriptions-item label="案件标的:">{{
19
+          form.caseSubjectAmount
20
+        }}</el-descriptions-item>
21
+        <el-descriptions-item label="案件应缴费用:">{{
22
+          form.feePayable
23
+        }}</el-descriptions-item>
24
+        <el-descriptions-item label="被申请人:">{{
25
+          form.respondent
26
+        }}</el-descriptions-item>
27
+        <el-descriptions-item label="申请人仲裁诉求:">{{
28
+          form.arbitratClaims
29
+        }}</el-descriptions-item>
30
+        <el-descriptions-item label="案件状态:">{{
31
+          form.caseStatusName
32
+        }}</el-descriptions-item>
33
+      </el-descriptions>
34
+      <div class="payType">
35
+        <span>请选择支付方式:</span>
36
+        <i class="iconfont icon-weixinzhifu" @click="pay(0)"></i>
37
+        <i class="iconfont icon-zhifubao" @click="pay(1)"></i>
38
+      </div>
39
+      <div class="payImg">
40
+        <div id="qrcodeImg"></div>
41
+      </div>
42
+      <div class="payTitle">{{ payMain }}</div>
43
+      <div slot="footer" class="dialog-footer">
44
+        <el-button @click="payCancel">取 消</el-button>
45
+      </div>
46
+    </el-dialog>
47
+  </div>
48
+</template>
49
+
50
+<script>
51
+import { casePay } from "@/api/pay/pay";
52
+import QRCode from "qrcodejs2";
53
+export default {
54
+  props: ["openPay", "payTitle", "form", "payForm"],
55
+  data() {
56
+    return {
57
+      // key: value
58
+      // 支付文字
59
+      payMain: "",
60
+    };
61
+  },
62
+  methods: {
63
+    // 生成二维码
64
+    qrcode(url) {
65
+      // 前端根据 URL 生成微信支付二维码
66
+      document.getElementById("qrcodeImg").innerHTML = "";
67
+      return new QRCode("qrcodeImg", {
68
+        width: 200,
69
+        height: 200,
70
+        text: url,
71
+        colorDark: "#000",
72
+        colorLight: "#fff",
73
+      });
74
+    },
75
+    // 支付
76
+    pay(val) {
77
+      if (this.payForm.feePayable == 0 || !this.payForm.feePayable) {
78
+        this.$message({
79
+          message: "此案件无需缴费",
80
+          type: "error",
81
+        });
82
+        return;
83
+      }
84
+      let payType = "";
85
+      if (val == 0) {
86
+        payType = "wxpay";
87
+        this.payMain = "请使用微信扫二维码支付";
88
+      } else if (val == 1) {
89
+        payType = "alipay";
90
+        this.payMain = "请使用支付宝扫二维码支付";
91
+      }
92
+      casePay({
93
+        totalFee: this.payForm.feePayable * 100,
94
+        caseId: this.payForm.caseId,
95
+        tradeType: "native",
96
+        platform: payType,
97
+      }).then((res) => {
98
+        this.paySrc = res.data.code_url;
99
+        this.qrcode(this.paySrc);
100
+      });
101
+    },
102
+    payCancel() {
103
+      this.$emit("paycancelRow");
104
+      this.payMain = "";
105
+    },
106
+  },
107
+};
108
+</script>
109
+
110
+<style lang="scss" scoped>
111
+.payType {
112
+  height: 80px;
113
+  line-height: 80px;
114
+
115
+  .icon-weixinzhifu {
116
+    font-size: 24px;
117
+    color: #27a56f;
118
+    margin-right: 15px;
119
+  }
120
+
121
+  .icon-zhifubao {
122
+    font-size: 24px;
123
+    color: #1d76cc;
124
+  }
125
+}
126
+
127
+.payImg {
128
+  width: 100%;
129
+  display: flex;
130
+  justify-content: center;
131
+}
132
+
133
+.payTitle {
134
+  margin-top: 20px;
135
+  width: 100%;
136
+  text-align: center;
137
+}
138
+</style>

+ 29
- 3
src/views/caseManagement/components/trialincourtDialog.vue Wyświetl plik

@@ -125,7 +125,10 @@
125 125
           </el-form-item>
126 126
         </el-col>
127 127
       </el-form>
128
-      <el-button>发起会议</el-button>
128
+      <el-button @click="openmeeting"
129
+        >发起会议
130
+        <!-- <iframe src="http://47.97.117.253:9005/#/">发起会议</iframe> -->
131
+      </el-button>
129 132
       <el-button>提交仲裁结果</el-button>
130 133
       <div slot="footer" class="dialog-footer">
131 134
         <el-button @click="submitForm" class="endbutton"
@@ -140,15 +143,38 @@
140 143
 </template>
141 144
 
142 145
 <script>
146
+import { getUserProfile } from "@/api/system/user";
143 147
 export default {
144
-  props: ["showtrialincourt", "adjudicatename"],
148
+  props: ["showtrialincourt", "adjudicatename", "form"],
145 149
   data() {
146 150
     return {
147
-      // key: value
148 151
       formData: {},
152
+      user: ''
149 153
     };
150 154
   },
155
+  watch: {
156
+    showtrialincourt: {
157
+      handler(val) {
158
+        if (val) {
159
+          this.formData = this.form
160
+        }
161
+      }
162
+    }
163
+  },
164
+  created () {
165
+    this.getUser();
166
+  },
151 167
   methods: {
168
+    getUser() {
169
+      getUserProfile().then(response => {
170
+        console.log(response,'response');
171
+        this.user = response.data.userName;
172
+      });
173
+    },
174
+    // 打开会议
175
+    openmeeting() {
176
+      window.open(`http://47.97.117.253:9005/#/home?name=${this.user}`)
177
+    },
152 178
     submitForm() {},
153 179
     cancel() {
154 180
       this.$emit("canceltrialincourt");

+ 4
- 5
src/views/payAll/payList.vue Wyświetl plik

@@ -74,7 +74,6 @@
74 74
                 <el-descriptions-item label="申请人:">{{ form.applicant }}</el-descriptions-item>
75 75
                 <el-descriptions-item label="案件标的:">{{ form.caseSubjectAmount }}</el-descriptions-item>
76 76
                 <el-descriptions-item label="案件应缴费用:">{{ form.feePayable }}</el-descriptions-item>
77
-                <el-descriptions-item label="案件实缴费用:">{{ form.paidExpenses }}</el-descriptions-item>
78 77
                 <el-descriptions-item label="被申请人:">{{ form.respondent }}</el-descriptions-item>
79 78
                 <el-descriptions-item label="申请人仲裁诉求:">{{ form.arbitratClaims }}</el-descriptions-item>
80 79
                 <el-descriptions-item label="案件状态:">{{ form.caseStatusName }}</el-descriptions-item>
@@ -121,7 +120,7 @@ export default {
121 120
             openPay: false,
122 121
             // 查询参数
123 122
             queryParams: {
124
-                caseStatus: 1,
123
+                caseStatus: 2,
125 124
                 pageNum: 1,
126 125
                 pageSize: 10
127 126
             },
@@ -203,13 +202,13 @@ export default {
203 202
                     res.data.caseStatusName = '待缴费'
204 203
                 }
205 204
                 this.form = res.data;
206
-                this.payForm.totalFee = res.data.paidExpenses;
205
+                this.payForm.feePayable = res.data.feePayable;
207 206
                 this.payForm.caseId = res.data.id
208 207
             })
209 208
         },
210 209
         // 支付
211 210
         pay(val) {
212
-            if (this.payForm.totalFee == 0 || !this.payForm.totalFee) {
211
+            if (this.payForm.feePayable == 0 || !this.payForm.feePayable) {
213 212
                 this.$message({
214 213
                     message: '此案件无需缴费',
215 214
                     type: 'error'
@@ -225,7 +224,7 @@ export default {
225 224
                 this.payMain = "请使用支付宝扫二维码支付"
226 225
             }
227 226
             casePay({
228
-                totalFee: this.payForm.totalFee * 100,
227
+                totalFee: this.payForm.feePayable * 100,
229 228
                 caseId: this.payForm.caseId,
230 229
                 tradeType: "native",
231 230
                 platform: payType

+ 2
- 2
vue.config.js Wyświetl plik

@@ -11,8 +11,8 @@ const name = process.env.VUE_APP_TITLE || '智慧仲裁管理系统' // 网页
11 11
 
12 12
 const port = process.env.port || process.env.npm_config_port || 80 // 端口
13 13
 
14
-// const API = 'http://121.40.189.20:9001'  //测试
15
-const API = 'http://192.168.3.77:8080' //Q
14
+const API = 'http://121.40.189.20:9001'  //测试
15
+// const API = 'http://192.168.3.77:8080' //Q
16 16
 
17 17
 // vue.config.js 配置说明
18 18
 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions