Your Name 2 лет назад
Родитель
Сommit
37dc67e9ff

+ 59
- 26
src/views/caseManagement/caseList.vue Просмотреть файл

165
             v-hasPermi="['monitor:online:forceLogout']"
165
             v-hasPermi="['monitor:online:forceLogout']"
166
             >立案审查</el-button
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
           <!-- <el-button
180
           <!-- <el-button
178
             size="mini"
181
             size="mini"
179
             type="text"
182
             type="text"
304
     ></adjudicaterecordDialog>
307
     ></adjudicaterecordDialog>
305
     <!-- 开庭审理 -->
308
     <!-- 开庭审理 -->
306
     <trialincourtDialog
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
     ></trialincourtDialog>
314
     ></trialincourtDialog>
315
+    <!-- 缴费 -->
316
+    <payDialog
317
+      :openPay="openPay"
318
+      :payTitle="payTitle"
319
+      :form="form"
320
+      :payForm="payForm"
321
+      @paycancelRow="paycancelRow"
322
+    ></payDialog>
312
   </div>
323
   </div>
313
 </template>
324
 </template>
314
 
325
 
319
 import courtReviewDialog from "./components/courtReviewDialog.vue";
330
 import courtReviewDialog from "./components/courtReviewDialog.vue";
320
 import choosetrialmethodDaiog from "./components/choosetrialmethodDaiog.vue";
331
 import choosetrialmethodDaiog from "./components/choosetrialmethodDaiog.vue";
321
 import adjudicaterecordDialog from "./components/adjudicaterecordDialog.vue";
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
 import {
337
 import {
325
   caseApply,
338
   caseApply,
326
   removeCaseApply,
339
   removeCaseApply,
327
   submitCaseApply,
340
   submitCaseApply,
328
   selectCaseApply,
341
   selectCaseApply,
329
 } from "@/api/caseAccess/caseEntry";
342
 } from "@/api/caseAccess/caseEntry";
343
+
330
 export default {
344
 export default {
331
   name: "caseList",
345
   name: "caseList",
332
   dicts: ["case_status"],
346
   dicts: ["case_status"],
337
     courtReviewDialog,
351
     courtReviewDialog,
338
     choosetrialmethodDaiog,
352
     choosetrialmethodDaiog,
339
     adjudicaterecordDialog,
353
     adjudicaterecordDialog,
340
-    trialincourtDialog
354
+    trialincourtDialog,
355
+    payDialog,
341
   },
356
   },
342
   data() {
357
   data() {
343
     return {
358
     return {
370
       showformateCourt: false, //组庭界面显示
385
       showformateCourt: false, //组庭界面显示
371
       showcourtReview: false, //组庭审核页面
386
       showcourtReview: false, //组庭审核页面
372
       showchoosetrialmethod: false, //选择仲裁方式页面
387
       showchoosetrialmethod: false, //选择仲裁方式页面
373
-      choosetrialmethodata:{},
388
+      choosetrialmethodata: {},
374
       showadjudicaterecord: false, //书面审理弹框
389
       showadjudicaterecord: false, //书面审理弹框
375
-      adjudicatename: {},//书面仲裁(被)申请人姓名
390
+      adjudicatename: {}, //书面仲裁(被)申请人姓名
376
       showtrialincourt: false, //开庭审理
391
       showtrialincourt: false, //开庭审理
392
+      openPay: false, //缴费弹框
393
+      payTitle: "",
394
+      payForm: {},
377
     };
395
     };
378
   },
396
   },
379
   created() {
397
   created() {
491
         })
509
         })
492
         .catch(() => {});
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
     // formationcourtRow(row) {
533
     // formationcourtRow(row) {
500
     //   console.log(row, "组庭");
534
     //   console.log(row, "组庭");
535
       // console.log(row, "书面审理");
569
       // console.log(row, "书面审理");
536
       this.showadjudicaterecord = true;
570
       this.showadjudicaterecord = true;
537
       this.form = row;
571
       this.form = row;
538
-      this.getInfo(row)
572
+      this.getInfo(row);
539
     },
573
     },
540
     canceladjudicaterecord() {
574
     canceladjudicaterecord() {
541
       this.showadjudicaterecord = false;
575
       this.showadjudicaterecord = false;
545
       console.log(row, "开庭审理");
579
       console.log(row, "开庭审理");
546
       this.showtrialincourt = true;
580
       this.showtrialincourt = true;
547
       this.form = row;
581
       this.form = row;
548
-      this.getInfo(row)
582
+      this.getInfo(row);
549
     },
583
     },
550
     canceltrialincourt() {
584
     canceltrialincourt() {
551
-        this.showtrialincourt = false;
585
+      this.showtrialincourt = false;
552
     },
586
     },
553
     //  生成裁决书
587
     //  生成裁决书
554
     generateawardRow(row) {
588
     generateawardRow(row) {
562
     getInfo(row) {
596
     getInfo(row) {
563
       const id = row.id;
597
       const id = row.id;
564
       selectCaseApply({ id }).then((res) => {
598
       selectCaseApply({ id }).then((res) => {
565
-        console.log(res,'nnnnnnnnnnnn');
566
         // this.visible = true;
599
         // this.visible = true;
567
         // this.formData = res.data;
600
         // this.formData = res.data;
568
         this.adjudicatename = {
601
         this.adjudicatename = {
569
           applicantName: res.data.applicantName,
602
           applicantName: res.data.applicantName,
570
           respondentName: res.data.respondentName,
603
           respondentName: res.data.respondentName,
571
           feePayable: res.data.feePayable,
604
           feePayable: res.data.feePayable,
572
-          hearDate: res.data.hearDate
573
-        }
605
+          hearDate: res.data.hearDate,
606
+        };
574
         this.initpaymentArr = [];
607
         this.initpaymentArr = [];
575
         this.initpaymentArr1 = [];
608
         this.initpaymentArr1 = [];
576
         res.data.caseAffiliates.forEach((item) => {
609
         res.data.caseAffiliates.forEach((item) => {

+ 138
- 0
src/views/caseManagement/components/payDialog.vue Просмотреть файл

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 Просмотреть файл

125
           </el-form-item>
125
           </el-form-item>
126
         </el-col>
126
         </el-col>
127
       </el-form>
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
       <el-button>提交仲裁结果</el-button>
132
       <el-button>提交仲裁结果</el-button>
130
       <div slot="footer" class="dialog-footer">
133
       <div slot="footer" class="dialog-footer">
131
         <el-button @click="submitForm" class="endbutton"
134
         <el-button @click="submitForm" class="endbutton"
140
 </template>
143
 </template>
141
 
144
 
142
 <script>
145
 <script>
146
+import { getUserProfile } from "@/api/system/user";
143
 export default {
147
 export default {
144
-  props: ["showtrialincourt", "adjudicatename"],
148
+  props: ["showtrialincourt", "adjudicatename", "form"],
145
   data() {
149
   data() {
146
     return {
150
     return {
147
-      // key: value
148
       formData: {},
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
   methods: {
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
     submitForm() {},
178
     submitForm() {},
153
     cancel() {
179
     cancel() {
154
       this.$emit("canceltrialincourt");
180
       this.$emit("canceltrialincourt");

+ 4
- 5
src/views/payAll/payList.vue Просмотреть файл

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

+ 2
- 2
vue.config.js Просмотреть файл

11
 
11
 
12
 const port = process.env.port || process.env.npm_config_port || 80 // 端口
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
 // vue.config.js 配置说明
17
 // vue.config.js 配置说明
18
 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
18
 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions