Просмотр исходного кода

缴费,案件详情问题处理

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

+ 11
- 3
src/api/caseManagement/caseManagement.js Просмотреть файл

35
 /** 批量上传证据 */
35
 /** 批量上传证据 */
36
 export function batchUpload(data) {
36
 export function batchUpload(data) {
37
     return request({
37
     return request({
38
-      url: "/caseApplication/batchUpdateAttach",
39
-      method: "post",
40
-      data: data,
38
+        url: "/caseApplication/batchUpload",
39
+        method: "post",
40
+        data: data,
41
     });
41
     });
42
+}
43
+// 提交 
44
+export function submitCaseApply(data) {
45
+    return request({
46
+      url: '/caseApplication/submit',
47
+      method: 'post',
48
+      data: data
49
+    })
42
   }
50
   }

+ 66
- 0
src/api/pay/pay.js Просмотреть файл

1
+import request from '@/utils/request'
2
+// 查看详情
3
+export function caseApplicationDetail(data) {
4
+    return request({
5
+        url: '/caseApplication/selectCaseApplication',
6
+        // headers: {
7
+        //   isToken: false
8
+        // },
9
+        method: 'post',
10
+        data: data
11
+    })
12
+}
13
+// 支付
14
+export function casePay(data) {
15
+    return request({
16
+      url: '/pay/casePay',
17
+      // headers: {
18
+      //   isToken: false
19
+      // },
20
+      method: 'post',
21
+      data: data
22
+    })
23
+  }
24
+// 确认缴费
25
+export function confirmPay(data) {
26
+    return request({
27
+      url: '/pay/confirm',
28
+      // headers: {
29
+      //   isToken: false
30
+      // },
31
+      method: 'put',
32
+      data: data
33
+    })
34
+  }
35
+//确认缴费查看案件详情接口(新修改显示案件缴费状态)
36
+export function selectCaseApplicationConfirm(data) {
37
+  return request({
38
+    url: '/caseApplication/selectCaseApplicationConfirm',
39
+    // headers: {
40
+    //   isToken: false
41
+    // },
42
+    method: 'post',
43
+    data: data
44
+  })
45
+} 
46
+
47
+// 缴费页面缴费确认
48
+export function confirmPayDig(data) {
49
+  return request({
50
+    url: '/pay/confirmPayment',
51
+    // headers: {
52
+    //   isToken: false
53
+    // },
54
+    method: 'post',
55
+    data: data
56
+  })
57
+}
58
+// 查询批量缴费信息
59
+// 缴费页面缴费确认
60
+export function getPayDetail(params) {
61
+  return request({
62
+    url: '/pay/list',
63
+    method: 'get',
64
+    params: params
65
+  })
66
+}

+ 539
- 0
src/assets/icon/demo.css Просмотреть файл

1
+/* Logo 字体 */
2
+@font-face {
3
+  font-family: "iconfont logo";
4
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
5
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
6
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
7
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
8
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
9
+}
10
+
11
+.logo {
12
+  font-family: "iconfont logo";
13
+  font-size: 160px;
14
+  font-style: normal;
15
+  -webkit-font-smoothing: antialiased;
16
+  -moz-osx-font-smoothing: grayscale;
17
+}
18
+
19
+/* tabs */
20
+.nav-tabs {
21
+  position: relative;
22
+}
23
+
24
+.nav-tabs .nav-more {
25
+  position: absolute;
26
+  right: 0;
27
+  bottom: 0;
28
+  height: 42px;
29
+  line-height: 42px;
30
+  color: #666;
31
+}
32
+
33
+#tabs {
34
+  border-bottom: 1px solid #eee;
35
+}
36
+
37
+#tabs li {
38
+  cursor: pointer;
39
+  width: 100px;
40
+  height: 40px;
41
+  line-height: 40px;
42
+  text-align: center;
43
+  font-size: 16px;
44
+  border-bottom: 2px solid transparent;
45
+  position: relative;
46
+  z-index: 1;
47
+  margin-bottom: -1px;
48
+  color: #666;
49
+}
50
+
51
+
52
+#tabs .active {
53
+  border-bottom-color: #f00;
54
+  color: #222;
55
+}
56
+
57
+.tab-container .content {
58
+  display: none;
59
+}
60
+
61
+/* 页面布局 */
62
+.main {
63
+  padding: 30px 100px;
64
+  width: 960px;
65
+  margin: 0 auto;
66
+}
67
+
68
+.main .logo {
69
+  color: #333;
70
+  text-align: left;
71
+  margin-bottom: 30px;
72
+  line-height: 1;
73
+  height: 110px;
74
+  margin-top: -50px;
75
+  overflow: hidden;
76
+  *zoom: 1;
77
+}
78
+
79
+.main .logo a {
80
+  font-size: 160px;
81
+  color: #333;
82
+}
83
+
84
+.helps {
85
+  margin-top: 40px;
86
+}
87
+
88
+.helps pre {
89
+  padding: 20px;
90
+  margin: 10px 0;
91
+  border: solid 1px #e7e1cd;
92
+  background-color: #fffdef;
93
+  overflow: auto;
94
+}
95
+
96
+.icon_lists {
97
+  width: 100% !important;
98
+  overflow: hidden;
99
+  *zoom: 1;
100
+}
101
+
102
+.icon_lists li {
103
+  width: 100px;
104
+  margin-bottom: 10px;
105
+  margin-right: 20px;
106
+  text-align: center;
107
+  list-style: none !important;
108
+  cursor: default;
109
+}
110
+
111
+.icon_lists li .code-name {
112
+  line-height: 1.2;
113
+}
114
+
115
+.icon_lists .icon {
116
+  display: block;
117
+  height: 100px;
118
+  line-height: 100px;
119
+  font-size: 42px;
120
+  margin: 10px auto;
121
+  color: #333;
122
+  -webkit-transition: font-size 0.25s linear, width 0.25s linear;
123
+  -moz-transition: font-size 0.25s linear, width 0.25s linear;
124
+  transition: font-size 0.25s linear, width 0.25s linear;
125
+}
126
+
127
+.icon_lists .icon:hover {
128
+  font-size: 100px;
129
+}
130
+
131
+.icon_lists .svg-icon {
132
+  /* 通过设置 font-size 来改变图标大小 */
133
+  width: 1em;
134
+  /* 图标和文字相邻时,垂直对齐 */
135
+  vertical-align: -0.15em;
136
+  /* 通过设置 color 来改变 SVG 的颜色/fill */
137
+  fill: currentColor;
138
+  /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
139
+      normalize.css 中也包含这行 */
140
+  overflow: hidden;
141
+}
142
+
143
+.icon_lists li .name,
144
+.icon_lists li .code-name {
145
+  color: #666;
146
+}
147
+
148
+/* markdown 样式 */
149
+.markdown {
150
+  color: #666;
151
+  font-size: 14px;
152
+  line-height: 1.8;
153
+}
154
+
155
+.highlight {
156
+  line-height: 1.5;
157
+}
158
+
159
+.markdown img {
160
+  vertical-align: middle;
161
+  max-width: 100%;
162
+}
163
+
164
+.markdown h1 {
165
+  color: #404040;
166
+  font-weight: 500;
167
+  line-height: 40px;
168
+  margin-bottom: 24px;
169
+}
170
+
171
+.markdown h2,
172
+.markdown h3,
173
+.markdown h4,
174
+.markdown h5,
175
+.markdown h6 {
176
+  color: #404040;
177
+  margin: 1.6em 0 0.6em 0;
178
+  font-weight: 500;
179
+  clear: both;
180
+}
181
+
182
+.markdown h1 {
183
+  font-size: 28px;
184
+}
185
+
186
+.markdown h2 {
187
+  font-size: 22px;
188
+}
189
+
190
+.markdown h3 {
191
+  font-size: 16px;
192
+}
193
+
194
+.markdown h4 {
195
+  font-size: 14px;
196
+}
197
+
198
+.markdown h5 {
199
+  font-size: 12px;
200
+}
201
+
202
+.markdown h6 {
203
+  font-size: 12px;
204
+}
205
+
206
+.markdown hr {
207
+  height: 1px;
208
+  border: 0;
209
+  background: #e9e9e9;
210
+  margin: 16px 0;
211
+  clear: both;
212
+}
213
+
214
+.markdown p {
215
+  margin: 1em 0;
216
+}
217
+
218
+.markdown>p,
219
+.markdown>blockquote,
220
+.markdown>.highlight,
221
+.markdown>ol,
222
+.markdown>ul {
223
+  width: 80%;
224
+}
225
+
226
+.markdown ul>li {
227
+  list-style: circle;
228
+}
229
+
230
+.markdown>ul li,
231
+.markdown blockquote ul>li {
232
+  margin-left: 20px;
233
+  padding-left: 4px;
234
+}
235
+
236
+.markdown>ul li p,
237
+.markdown>ol li p {
238
+  margin: 0.6em 0;
239
+}
240
+
241
+.markdown ol>li {
242
+  list-style: decimal;
243
+}
244
+
245
+.markdown>ol li,
246
+.markdown blockquote ol>li {
247
+  margin-left: 20px;
248
+  padding-left: 4px;
249
+}
250
+
251
+.markdown code {
252
+  margin: 0 3px;
253
+  padding: 0 5px;
254
+  background: #eee;
255
+  border-radius: 3px;
256
+}
257
+
258
+.markdown strong,
259
+.markdown b {
260
+  font-weight: 600;
261
+}
262
+
263
+.markdown>table {
264
+  border-collapse: collapse;
265
+  border-spacing: 0px;
266
+  empty-cells: show;
267
+  border: 1px solid #e9e9e9;
268
+  width: 95%;
269
+  margin-bottom: 24px;
270
+}
271
+
272
+.markdown>table th {
273
+  white-space: nowrap;
274
+  color: #333;
275
+  font-weight: 600;
276
+}
277
+
278
+.markdown>table th,
279
+.markdown>table td {
280
+  border: 1px solid #e9e9e9;
281
+  padding: 8px 16px;
282
+  text-align: left;
283
+}
284
+
285
+.markdown>table th {
286
+  background: #F7F7F7;
287
+}
288
+
289
+.markdown blockquote {
290
+  font-size: 90%;
291
+  color: #999;
292
+  border-left: 4px solid #e9e9e9;
293
+  padding-left: 0.8em;
294
+  margin: 1em 0;
295
+}
296
+
297
+.markdown blockquote p {
298
+  margin: 0;
299
+}
300
+
301
+.markdown .anchor {
302
+  opacity: 0;
303
+  transition: opacity 0.3s ease;
304
+  margin-left: 8px;
305
+}
306
+
307
+.markdown .waiting {
308
+  color: #ccc;
309
+}
310
+
311
+.markdown h1:hover .anchor,
312
+.markdown h2:hover .anchor,
313
+.markdown h3:hover .anchor,
314
+.markdown h4:hover .anchor,
315
+.markdown h5:hover .anchor,
316
+.markdown h6:hover .anchor {
317
+  opacity: 1;
318
+  display: inline-block;
319
+}
320
+
321
+.markdown>br,
322
+.markdown>p>br {
323
+  clear: both;
324
+}
325
+
326
+
327
+.hljs {
328
+  display: block;
329
+  background: white;
330
+  padding: 0.5em;
331
+  color: #333333;
332
+  overflow-x: auto;
333
+}
334
+
335
+.hljs-comment,
336
+.hljs-meta {
337
+  color: #969896;
338
+}
339
+
340
+.hljs-string,
341
+.hljs-variable,
342
+.hljs-template-variable,
343
+.hljs-strong,
344
+.hljs-emphasis,
345
+.hljs-quote {
346
+  color: #df5000;
347
+}
348
+
349
+.hljs-keyword,
350
+.hljs-selector-tag,
351
+.hljs-type {
352
+  color: #a71d5d;
353
+}
354
+
355
+.hljs-literal,
356
+.hljs-symbol,
357
+.hljs-bullet,
358
+.hljs-attribute {
359
+  color: #0086b3;
360
+}
361
+
362
+.hljs-section,
363
+.hljs-name {
364
+  color: #63a35c;
365
+}
366
+
367
+.hljs-tag {
368
+  color: #333333;
369
+}
370
+
371
+.hljs-title,
372
+.hljs-attr,
373
+.hljs-selector-id,
374
+.hljs-selector-class,
375
+.hljs-selector-attr,
376
+.hljs-selector-pseudo {
377
+  color: #795da3;
378
+}
379
+
380
+.hljs-addition {
381
+  color: #55a532;
382
+  background-color: #eaffea;
383
+}
384
+
385
+.hljs-deletion {
386
+  color: #bd2c00;
387
+  background-color: #ffecec;
388
+}
389
+
390
+.hljs-link {
391
+  text-decoration: underline;
392
+}
393
+
394
+/* 代码高亮 */
395
+/* PrismJS 1.15.0
396
+https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
397
+/**
398
+ * prism.js default theme for JavaScript, CSS and HTML
399
+ * Based on dabblet (http://dabblet.com)
400
+ * @author Lea Verou
401
+ */
402
+code[class*="language-"],
403
+pre[class*="language-"] {
404
+  color: black;
405
+  background: none;
406
+  text-shadow: 0 1px white;
407
+  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
408
+  text-align: left;
409
+  white-space: pre;
410
+  word-spacing: normal;
411
+  word-break: normal;
412
+  word-wrap: normal;
413
+  line-height: 1.5;
414
+
415
+  -moz-tab-size: 4;
416
+  -o-tab-size: 4;
417
+  tab-size: 4;
418
+
419
+  -webkit-hyphens: none;
420
+  -moz-hyphens: none;
421
+  -ms-hyphens: none;
422
+  hyphens: none;
423
+}
424
+
425
+pre[class*="language-"]::-moz-selection,
426
+pre[class*="language-"] ::-moz-selection,
427
+code[class*="language-"]::-moz-selection,
428
+code[class*="language-"] ::-moz-selection {
429
+  text-shadow: none;
430
+  background: #b3d4fc;
431
+}
432
+
433
+pre[class*="language-"]::selection,
434
+pre[class*="language-"] ::selection,
435
+code[class*="language-"]::selection,
436
+code[class*="language-"] ::selection {
437
+  text-shadow: none;
438
+  background: #b3d4fc;
439
+}
440
+
441
+@media print {
442
+
443
+  code[class*="language-"],
444
+  pre[class*="language-"] {
445
+    text-shadow: none;
446
+  }
447
+}
448
+
449
+/* Code blocks */
450
+pre[class*="language-"] {
451
+  padding: 1em;
452
+  margin: .5em 0;
453
+  overflow: auto;
454
+}
455
+
456
+:not(pre)>code[class*="language-"],
457
+pre[class*="language-"] {
458
+  background: #f5f2f0;
459
+}
460
+
461
+/* Inline code */
462
+:not(pre)>code[class*="language-"] {
463
+  padding: .1em;
464
+  border-radius: .3em;
465
+  white-space: normal;
466
+}
467
+
468
+.token.comment,
469
+.token.prolog,
470
+.token.doctype,
471
+.token.cdata {
472
+  color: slategray;
473
+}
474
+
475
+.token.punctuation {
476
+  color: #999;
477
+}
478
+
479
+.namespace {
480
+  opacity: .7;
481
+}
482
+
483
+.token.property,
484
+.token.tag,
485
+.token.boolean,
486
+.token.number,
487
+.token.constant,
488
+.token.symbol,
489
+.token.deleted {
490
+  color: #905;
491
+}
492
+
493
+.token.selector,
494
+.token.attr-name,
495
+.token.string,
496
+.token.char,
497
+.token.builtin,
498
+.token.inserted {
499
+  color: #690;
500
+}
501
+
502
+.token.operator,
503
+.token.entity,
504
+.token.url,
505
+.language-css .token.string,
506
+.style .token.string {
507
+  color: #9a6e3a;
508
+  background: hsla(0, 0%, 100%, .5);
509
+}
510
+
511
+.token.atrule,
512
+.token.attr-value,
513
+.token.keyword {
514
+  color: #07a;
515
+}
516
+
517
+.token.function,
518
+.token.class-name {
519
+  color: #DD4A68;
520
+}
521
+
522
+.token.regex,
523
+.token.important,
524
+.token.variable {
525
+  color: #e90;
526
+}
527
+
528
+.token.important,
529
+.token.bold {
530
+  font-weight: bold;
531
+}
532
+
533
+.token.italic {
534
+  font-style: italic;
535
+}
536
+
537
+.token.entity {
538
+  cursor: help;
539
+}

+ 257
- 0
src/assets/icon/demo_index.html Просмотреть файл

1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+  <meta charset="utf-8"/>
5
+  <title>iconfont Demo</title>
6
+  <link rel="shortcut icon" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg" type="image/x-icon"/>
7
+  <link rel="icon" type="image/svg+xml" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg"/>
8
+  <link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
9
+  <link rel="stylesheet" href="demo.css">
10
+  <link rel="stylesheet" href="iconfont.css">
11
+  <script src="iconfont.js"></script>
12
+  <!-- jQuery -->
13
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
14
+  <!-- 代码高亮 -->
15
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
16
+  <style>
17
+    .main .logo {
18
+      margin-top: 0;
19
+      height: auto;
20
+    }
21
+
22
+    .main .logo a {
23
+      display: flex;
24
+      align-items: center;
25
+    }
26
+
27
+    .main .logo .sub-title {
28
+      margin-left: 0.5em;
29
+      font-size: 22px;
30
+      color: #fff;
31
+      background: linear-gradient(-45deg, #3967FF, #B500FE);
32
+      -webkit-background-clip: text;
33
+      -webkit-text-fill-color: transparent;
34
+    }
35
+  </style>
36
+</head>
37
+<body>
38
+  <div class="main">
39
+    <h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">
40
+      <img width="200" src="https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg">
41
+      
42
+    </a></h1>
43
+    <div class="nav-tabs">
44
+      <ul id="tabs" class="dib-box">
45
+        <li class="dib active"><span>Unicode</span></li>
46
+        <li class="dib"><span>Font class</span></li>
47
+        <li class="dib"><span>Symbol</span></li>
48
+      </ul>
49
+      
50
+      <a href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=4246508" target="_blank" class="nav-more">查看项目</a>
51
+      
52
+    </div>
53
+    <div class="tab-container">
54
+      <div class="content unicode" style="display: block;">
55
+          <ul class="icon_lists dib-box">
56
+          
57
+            <li class="dib">
58
+              <span class="icon iconfont">&#xe68a;</span>
59
+                <div class="name">支付宝</div>
60
+                <div class="code-name">&amp;#xe68a;</div>
61
+              </li>
62
+          
63
+            <li class="dib">
64
+              <span class="icon iconfont">&#xe68b;</span>
65
+                <div class="name">银联</div>
66
+                <div class="code-name">&amp;#xe68b;</div>
67
+              </li>
68
+          
69
+            <li class="dib">
70
+              <span class="icon iconfont">&#xe689;</span>
71
+                <div class="name">微信支付</div>
72
+                <div class="code-name">&amp;#xe689;</div>
73
+              </li>
74
+          
75
+          </ul>
76
+          <div class="article markdown">
77
+          <h2 id="unicode-">Unicode 引用</h2>
78
+          <hr>
79
+
80
+          <p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
81
+          <ul>
82
+            <li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
83
+            <li>默认情况下不支持多色,直接添加多色图标会自动去色。</li>
84
+          </ul>
85
+          <blockquote>
86
+            <p>注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)</p>
87
+          </blockquote>
88
+          <p>Unicode 使用步骤如下:</p>
89
+          <h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
90
+<pre><code class="language-css"
91
+>@font-face {
92
+  font-family: 'iconfont';
93
+  src: url('iconfont.woff2?t=1694418644261') format('woff2'),
94
+       url('iconfont.woff?t=1694418644261') format('woff'),
95
+       url('iconfont.ttf?t=1694418644261') format('truetype');
96
+}
97
+</code></pre>
98
+          <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
99
+<pre><code class="language-css"
100
+>.iconfont {
101
+  font-family: "iconfont" !important;
102
+  font-size: 16px;
103
+  font-style: normal;
104
+  -webkit-font-smoothing: antialiased;
105
+  -moz-osx-font-smoothing: grayscale;
106
+}
107
+</code></pre>
108
+          <h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
109
+<pre>
110
+<code class="language-html"
111
+>&lt;span class="iconfont"&gt;&amp;#x33;&lt;/span&gt;
112
+</code></pre>
113
+          <blockquote>
114
+            <p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
115
+          </blockquote>
116
+          </div>
117
+      </div>
118
+      <div class="content font-class">
119
+        <ul class="icon_lists dib-box">
120
+          
121
+          <li class="dib">
122
+            <span class="icon iconfont icon-zhifubao"></span>
123
+            <div class="name">
124
+              支付宝
125
+            </div>
126
+            <div class="code-name">.icon-zhifubao
127
+            </div>
128
+          </li>
129
+          
130
+          <li class="dib">
131
+            <span class="icon iconfont icon-yinlian"></span>
132
+            <div class="name">
133
+              银联
134
+            </div>
135
+            <div class="code-name">.icon-yinlian
136
+            </div>
137
+          </li>
138
+          
139
+          <li class="dib">
140
+            <span class="icon iconfont icon-weixinzhifu"></span>
141
+            <div class="name">
142
+              微信支付
143
+            </div>
144
+            <div class="code-name">.icon-weixinzhifu
145
+            </div>
146
+          </li>
147
+          
148
+        </ul>
149
+        <div class="article markdown">
150
+        <h2 id="font-class-">font-class 引用</h2>
151
+        <hr>
152
+
153
+        <p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
154
+        <p>与 Unicode 使用方式相比,具有如下特点:</p>
155
+        <ul>
156
+          <li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
157
+          <li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
158
+        </ul>
159
+        <p>使用步骤如下:</p>
160
+        <h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
161
+<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
162
+</code></pre>
163
+        <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
164
+<pre><code class="language-html">&lt;span class="iconfont icon-xxx"&gt;&lt;/span&gt;
165
+</code></pre>
166
+        <blockquote>
167
+          <p>"
168
+            iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
169
+        </blockquote>
170
+      </div>
171
+      </div>
172
+      <div class="content symbol">
173
+          <ul class="icon_lists dib-box">
174
+          
175
+            <li class="dib">
176
+                <svg class="icon svg-icon" aria-hidden="true">
177
+                  <use xlink:href="#icon-zhifubao"></use>
178
+                </svg>
179
+                <div class="name">支付宝</div>
180
+                <div class="code-name">#icon-zhifubao</div>
181
+            </li>
182
+          
183
+            <li class="dib">
184
+                <svg class="icon svg-icon" aria-hidden="true">
185
+                  <use xlink:href="#icon-yinlian"></use>
186
+                </svg>
187
+                <div class="name">银联</div>
188
+                <div class="code-name">#icon-yinlian</div>
189
+            </li>
190
+          
191
+            <li class="dib">
192
+                <svg class="icon svg-icon" aria-hidden="true">
193
+                  <use xlink:href="#icon-weixinzhifu"></use>
194
+                </svg>
195
+                <div class="name">微信支付</div>
196
+                <div class="code-name">#icon-weixinzhifu</div>
197
+            </li>
198
+          
199
+          </ul>
200
+          <div class="article markdown">
201
+          <h2 id="symbol-">Symbol 引用</h2>
202
+          <hr>
203
+
204
+          <p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
205
+            这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
206
+          <ul>
207
+            <li>支持多色图标了,不再受单色限制。</li>
208
+            <li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
209
+            <li>兼容性较差,支持 IE9+,及现代浏览器。</li>
210
+            <li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
211
+          </ul>
212
+          <p>使用步骤如下:</p>
213
+          <h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
214
+<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
215
+</code></pre>
216
+          <h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
217
+<pre><code class="language-html">&lt;style&gt;
218
+.icon {
219
+  width: 1em;
220
+  height: 1em;
221
+  vertical-align: -0.15em;
222
+  fill: currentColor;
223
+  overflow: hidden;
224
+}
225
+&lt;/style&gt;
226
+</code></pre>
227
+          <h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
228
+<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
229
+  &lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
230
+&lt;/svg&gt;
231
+</code></pre>
232
+          </div>
233
+      </div>
234
+
235
+    </div>
236
+  </div>
237
+  <script>
238
+  $(document).ready(function () {
239
+      $('.tab-container .content:first').show()
240
+
241
+      $('#tabs li').click(function (e) {
242
+        var tabContent = $('.tab-container .content')
243
+        var index = $(this).index()
244
+
245
+        if ($(this).hasClass('active')) {
246
+          return
247
+        } else {
248
+          $('#tabs li').removeClass('active')
249
+          $(this).addClass('active')
250
+
251
+          tabContent.hide().eq(index).fadeIn()
252
+        }
253
+      })
254
+    })
255
+  </script>
256
+</body>
257
+</html>

+ 27
- 0
src/assets/icon/iconfont.css Просмотреть файл

1
+@font-face {
2
+  font-family: "iconfont"; /* Project id 4246508 */
3
+  src: url('iconfont.woff2?t=1694418644261') format('woff2'),
4
+       url('iconfont.woff?t=1694418644261') format('woff'),
5
+       url('iconfont.ttf?t=1694418644261') format('truetype');
6
+}
7
+
8
+.iconfont {
9
+  font-family: "iconfont" !important;
10
+  font-size: 16px;
11
+  font-style: normal;
12
+  -webkit-font-smoothing: antialiased;
13
+  -moz-osx-font-smoothing: grayscale;
14
+}
15
+
16
+.icon-zhifubao:before {
17
+  content: "\e68a";
18
+}
19
+
20
+.icon-yinlian:before {
21
+  content: "\e68b";
22
+}
23
+
24
+.icon-weixinzhifu:before {
25
+  content: "\e689";
26
+}
27
+

+ 1
- 0
src/assets/icon/iconfont.js
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 30
- 0
src/assets/icon/iconfont.json Просмотреть файл

1
+{
2
+  "id": "4246508",
3
+  "name": "法务",
4
+  "font_family": "iconfont",
5
+  "css_prefix_text": "icon-",
6
+  "description": "",
7
+  "glyphs": [
8
+    {
9
+      "icon_id": "9306312",
10
+      "name": "支付宝",
11
+      "font_class": "zhifubao",
12
+      "unicode": "e68a",
13
+      "unicode_decimal": 59018
14
+    },
15
+    {
16
+      "icon_id": "9306315",
17
+      "name": "银联",
18
+      "font_class": "yinlian",
19
+      "unicode": "e68b",
20
+      "unicode_decimal": 59019
21
+    },
22
+    {
23
+      "icon_id": "9306311",
24
+      "name": "微信支付",
25
+      "font_class": "weixinzhifu",
26
+      "unicode": "e689",
27
+      "unicode_decimal": 59017
28
+    }
29
+  ]
30
+}

Двоичные данные
src/assets/icon/iconfont.ttf Просмотреть файл


Двоичные данные
src/assets/icon/iconfont.woff Просмотреть файл


Двоичные данные
src/assets/icon/iconfont.woff2 Просмотреть файл


+ 2
- 2
src/main.js Просмотреть файл

4
 
4
 
5
 import Element from 'element-ui'
5
 import Element from 'element-ui'
6
 import './assets/styles/element-variables.scss'
6
 import './assets/styles/element-variables.scss'
7
-
7
+import './assets/icons' // icon
8
 import '@/assets/styles/index.scss' // global css
8
 import '@/assets/styles/index.scss' // global css
9
 import '@/assets/styles/ruoyi.scss' // ruoyi css
9
 import '@/assets/styles/ruoyi.scss' // ruoyi css
10
 import App from './App'
10
 import App from './App'
14
 import plugins from './plugins' // plugins
14
 import plugins from './plugins' // plugins
15
 import { download } from '@/utils/request'
15
 import { download } from '@/utils/request'
16
 
16
 
17
-import './assets/icons' // icon
17
+import './assets/icon/iconfont.css'
18
 import './permission' // permission control
18
 import './permission' // permission control
19
 import { getDicts } from "@/api/system/dict/data";
19
 import { getDicts } from "@/api/system/dict/data";
20
 import { getConfigKey } from "@/api/system/config";
20
 import { getConfigKey } from "@/api/system/config";

+ 9
- 10
src/utils/permission.js Просмотреть файл

56
  * @returns {Boolean}
56
  * @returns {Boolean}
57
  */
57
  */
58
 export function statusRole(value) {
58
 export function statusRole(value) {
59
-  let caseStatus = sessionStorage.getItem('caseStatus');
60
-  caseStatus = JSON.parse(caseStatus);
61
-  if(caseStatus.length == 0){
59
+  let caseStatusStr = sessionStorage.getItem('caseStatus');
60
+  let caseStatus = [];
61
+  caseStatus = JSON.parse(caseStatusStr);
62
+  if (caseStatus.length == 0) {
63
+    return false
64
+  }
65
+  if (caseStatus.includes(value)) {
66
+    return true
67
+  } else {
62
     return false
68
     return false
63
   }
69
   }
64
-  caseStatus.forEach(item => {
65
-    if(item == value){
66
-      return true
67
-    }else{
68
-      return false
69
-    }
70
-  });
71
 }
70
 }

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

59
             <el-table-column label="创建时间" align="center" prop="createTime" :show-overflow-tooltip="true" />
59
             <el-table-column label="创建时间" align="center" prop="createTime" :show-overflow-tooltip="true" />
60
             <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
60
             <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
61
                 <template slot-scope="scope">
61
                 <template slot-scope="scope">
62
+                    <el-button size="mini" type="text" icon="el-icon-check" @click="onsubmitRow(scope.row)">提交</el-button>
62
                     <el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text"
63
                     <el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text"
63
                         icon="el-icon-edit">修改</el-button>
64
                         icon="el-icon-edit">修改</el-button>
64
                     <el-button size="mini" @click="checkDetail(scope.row)" type="text" icon="el-icon-view">查看详情</el-button>
65
                     <el-button size="mini" @click="checkDetail(scope.row)" type="text" icon="el-icon-view">查看详情</el-button>
65
-                    <el-button size="mini" @click="consultantApplica(scope.row)" type="text" icon="el-icon-tickets">法律顾问用印申请</el-button>
66
-                    <el-button size="mini" @click="departmentApplica(scope.row)" type="text" icon="el-icon-edit-outline">部门长用印申请</el-button>
66
+                    <el-button size="mini" @click="consultantApplica(scope.row)" type="text"
67
+                        icon="el-icon-tickets">法律顾问用印申请</el-button>
68
+                    <el-button size="mini" @click="departmentApplica(scope.row)" type="text"
69
+                        icon="el-icon-edit-outline">部门长用印申请</el-button>
67
                     <el-button size="mini" @click="caseFlow(scope.row)" type="text" icon="el-icon-zoom-in">查看流程</el-button>
70
                     <el-button size="mini" @click="caseFlow(scope.row)" type="text" icon="el-icon-zoom-in">查看流程</el-button>
68
-                    <el-button size="mini" @click="caseLog(scope.row)" type="text" icon="el-icon-edit-outline">案件日志</el-button>
69
-                    <el-button size="mini" @click="caseFiling(scope.row)" type="text" icon="el-icon-tickets">案件归档</el-button>
70
-                    <el-button size="mini" @click="signMediation(scope.row)" type="text" icon="el-icon-edit-outline">签收调解书</el-button>                 
71
+                    <el-button size="mini" @click="caseLog(scope.row)" type="text"
72
+                        icon="el-icon-edit-outline">案件日志</el-button>
73
+                    <el-button size="mini" @click="caseFiling(scope.row)" type="text"
74
+                        icon="el-icon-tickets">案件归档</el-button>
75
+                    <el-button size="mini" @click="signMediation(scope.row)" type="text"
76
+                        icon="el-icon-edit-outline">签收调解书</el-button>
71
                     <el-button size="mini" type="text" icon="el-icon-edit"
77
                     <el-button size="mini" type="text" icon="el-icon-edit"
72
                         @click="evidenceUpload(scope.row)">证据修改</el-button>
78
                         @click="evidenceUpload(scope.row)">证据修改</el-button>
79
+                    <el-button size="mini" type="text" icon="el-icon-tickets" @click="payStatus(scope.row)">缴费</el-button>
73
                 </template>
80
                 </template>
74
             </el-table-column>
81
             </el-table-column>
75
         </el-table>
82
         </el-table>
77
             @pagination="getList(queryParams)" />
84
             @pagination="getList(queryParams)" />
78
         <!-- 新增编辑详情 -->
85
         <!-- 新增编辑详情 -->
79
         <addCase :addVisable="addVisable" :queryParams="queryParams" @cancelCaseAdd="cancelCaseAdd" @getList="getList"
86
         <addCase :addVisable="addVisable" :queryParams="queryParams" @cancelCaseAdd="cancelCaseAdd" @getList="getList"
80
-            :caseData="caseData" :caseDisabled="caseDisabled"></addCase>
87
+            :caseData="caseData" :caseDisabled="caseDisabled" :tabFlag="tabFlag"></addCase>
81
         <!-- 压缩包导入     -->
88
         <!-- 压缩包导入     -->
82
         <caseCompressionPackage :openCompressedPackages="openCompressedPackages" :queryParams="queryParams"
89
         <caseCompressionPackage :openCompressedPackages="openCompressedPackages" :queryParams="queryParams"
83
             @cancelCompreess="cancelCompreess" :getList="getList">
90
             @cancelCompreess="cancelCompreess" :getList="getList">
84
         </caseCompressionPackage>
91
         </caseCompressionPackage>
85
         <!-- 案件详情 -->
92
         <!-- 案件详情 -->
86
-        <mediationCaseDetails :processVisable="processVisable" @cancelViewProcess="cancelViewProcess"></mediationCaseDetails>
93
+        <mediationCaseDetails :processVisable="processVisable" @cancelViewProcess="cancelViewProcess">
94
+        </mediationCaseDetails>
87
         <!-- 案件日志 -->
95
         <!-- 案件日志 -->
88
         <mediationCaseLog :showcaseLog="showcaseLog" @cancelcaseLog="cancelcaseLog"></mediationCaseLog>
96
         <mediationCaseLog :showcaseLog="showcaseLog" @cancelcaseLog="cancelcaseLog"></mediationCaseLog>
89
         <!-- 证据修改 -->
97
         <!-- 证据修改 -->
90
         <evidenceDialog :evidenceVisable="evidenceVisable" @cancelEvidence="cancelEvidence" :evidenceData="evidenceData">
98
         <evidenceDialog :evidenceVisable="evidenceVisable" @cancelEvidence="cancelEvidence" :evidenceData="evidenceData">
91
         </evidenceDialog>
99
         </evidenceDialog>
100
+        <!-- 缴费 -->
101
+        <payDialog :openPay="openPay" :payTitle="payTitle" :formPayDetail="formPayDetail" :payId="payId" :payForm="payForm"
102
+            :queryParams="queryParams" @getList="getList" @paycancelRow="paycancelRow"></payDialog>
92
     </div>
103
     </div>
93
 </template>
104
 </template>
94
 
105
 
95
 <script>
106
 <script>
96
-import { caseApplicationList } from '@/api/caseManagement/caseManagement.js'
107
+import { caseApplicationList, caseApplicationSelectById,submitCaseApply } from '@/api/caseManagement/caseManagement.js'
97
 import { listDept } from '@/api/system/dept.js'
108
 import { listDept } from '@/api/system/dept.js'
98
 import moment from "moment";
109
 import moment from "moment";
99
 import addCase from './components/addCase.vue'
110
 import addCase from './components/addCase.vue'
101
 import caseCompressionPackage from './components/caseCompressionPackage.vue';
112
 import caseCompressionPackage from './components/caseCompressionPackage.vue';
102
 import mediationCaseDetails from './components/mediationCaseDetails.vue'
113
 import mediationCaseDetails from './components/mediationCaseDetails.vue'
103
 import mediationCaseLog from './components/mediationCaseLog.vue'
114
 import mediationCaseLog from './components/mediationCaseLog.vue'
115
+import payDialog from "./components/payDialog.vue";
104
 export default {
116
 export default {
105
     name: "caseList",
117
     name: "caseList",
106
     dicts: ["case_flow_node"],
118
     dicts: ["case_flow_node"],
109
         caseCompressionPackage,
121
         caseCompressionPackage,
110
         mediationCaseDetails,
122
         mediationCaseDetails,
111
         mediationCaseLog,
123
         mediationCaseLog,
112
-        evidenceDialog
124
+        evidenceDialog,
125
+        payDialog,
113
     },
126
     },
114
     data() {
127
     data() {
115
         return {
128
         return {
127
             rules: {},
140
             rules: {},
128
             dataList: [],
141
             dataList: [],
129
             addVisable: false,//新增弹窗
142
             addVisable: false,//新增弹窗
130
-            openCompressedPackages:false,//压缩包导入弹窗
131
-            processVisable:false,//案件详情
132
-            showcaseLog:false,//案件日志
143
+            openCompressedPackages: false,//压缩包导入弹窗
144
+            processVisable: false,//案件详情
145
+            showcaseLog: false,//案件日志
133
             evidenceVisable: false,//证据修改弹窗
146
             evidenceVisable: false,//证据修改弹窗
147
+            openPay: false, //缴费弹框
148
+            formPayDetail: {},
149
+            payId: null,
150
+            payForm: {},
134
             caseData: {},
151
             caseData: {},
135
             evidenceData: {},
152
             evidenceData: {},
136
             caseDisabled: false,
153
             caseDisabled: false,
137
             caseTime: '',
154
             caseTime: '',
138
-            deptList: []
155
+            deptList: [],
156
+            payTitle: '',
157
+            tabFlag: false
139
         };
158
         };
140
     },
159
     },
141
     created() {
160
     created() {
148
             this.addVisable = true;
167
             this.addVisable = true;
149
             this.caseData = {};
168
             this.caseData = {};
150
             this.caseDisabled = false;
169
             this.caseDisabled = false;
170
+            this.tabFlag = false;
151
         },
171
         },
152
         /** 查看详情 */
172
         /** 查看详情 */
153
         checkDetail(val) {
173
         checkDetail(val) {
155
             this.caseData = val;
175
             this.caseData = val;
156
             this.caseData.flag = 1;
176
             this.caseData.flag = 1;
157
             this.caseDisabled = true;
177
             this.caseDisabled = true;
178
+            this.tabFlag = true;
158
         },
179
         },
159
         /** 修改案件 */
180
         /** 修改案件 */
160
         eidtNodeprocess(row) {
181
         eidtNodeprocess(row) {
161
             this.addVisable = true;
182
             this.addVisable = true;
162
             this.caseData = row;
183
             this.caseData = row;
163
             this.caseDisabled = false;
184
             this.caseDisabled = false;
185
+            this.tabFlag = false;
164
         },
186
         },
165
         /** 案件导入压缩包 */
187
         /** 案件导入压缩包 */
166
         compressedPackages() {
188
         compressedPackages() {
167
             this.openCompressedPackages = true;
189
             this.openCompressedPackages = true;
168
         },
190
         },
191
+        /** 缴费 */
192
+        payStatus(val) {
193
+            this.getDetail({ id: val.id });
194
+            this.payTitle = "缴费";
195
+            this.payId = val.id;
196
+            this.openPay = true;
197
+        },
198
+        /** 列表提交立案 */
199
+        onsubmitRow(row) {
200
+            this.$modal
201
+                .confirm("是否提交立案申请?")
202
+                .then(function () {
203
+                    return submitCaseApply({ id: row.id,caseFlowId:row.caseFlowId });
204
+                })
205
+                .then(() => {
206
+                    this.getList(this.queryParams);
207
+                    this.$modal.msgSuccess("立案申请成功");
208
+                })
209
+                .catch(() => { });
210
+        },
211
+        getDetail(parms) {
212
+            caseApplicationSelectById(parms).then((res) => {
213
+                this.formPayDetail = res.data;
214
+                this.payForm.feePayable = res.data.feePayable;
215
+                this.payForm.caseId = res.data.id;
216
+            });
217
+        },
169
         /** 时间改变处理 */
218
         /** 时间改变处理 */
170
         caseTimeChange() {
219
         caseTimeChange() {
171
             if (this.caseTime) {
220
             if (this.caseTime) {
204
         cancelCompreess() {
253
         cancelCompreess() {
205
             this.openCompressedPackages = false;
254
             this.openCompressedPackages = false;
206
         },
255
         },
256
+        /**取消缴费*/
257
+        paycancelRow(row) {
258
+            this.openPay = false;
259
+        },
207
         /** 搜索按钮操作 */
260
         /** 搜索按钮操作 */
208
         handleQuery() {
261
         handleQuery() {
209
             this.queryParams.pageNum = 1;
262
             this.queryParams.pageNum = 1;
232
             })
285
             })
233
         },
286
         },
234
         // 部门长用印申请
287
         // 部门长用印申请
235
-        departmentApplica(){
236
-            
288
+        departmentApplica() {
289
+
237
         },
290
         },
238
         //案件流程
291
         //案件流程
239
-        caseFlow(row){
240
-           this.processVisable = true 
292
+        caseFlow(row) {
293
+            this.processVisable = true
241
         },
294
         },
242
-        cancelViewProcess(){
295
+        cancelViewProcess() {
243
             this.processVisable = false
296
             this.processVisable = false
244
         },
297
         },
245
         //案件日志
298
         //案件日志
246
-        caseLog(){
247
-           this.showcaseLog = true 
299
+        caseLog() {
300
+            this.showcaseLog = true
248
         },
301
         },
249
-        cancelcaseLog(){
302
+        cancelcaseLog() {
250
             this.showcaseLog = false
303
             this.showcaseLog = false
251
         },
304
         },
252
         // 案件归档
305
         // 案件归档
253
-        caseFiling(){
254
-           this.$modal.confirm("你确定要案件归档吗?").then((res) => {
255
-                     
256
-                }).catch(() =>{
257
-                    
258
-            }) 
306
+        caseFiling() {
307
+            this.$modal.confirm("你确定要案件归档吗?").then((res) => {
308
+
309
+            }).catch(() => {
310
+
311
+            })
259
         },
312
         },
260
         //签收调解书
313
         //签收调解书
261
-        signMediation(){
314
+        signMediation() {
262
             this.$modal.confirm("你确定要签收调解书吗?").then((res) => {
315
             this.$modal.confirm("你确定要签收调解书吗?").then((res) => {
263
-                     
264
-                }).catch(() =>{
265
-                    
266
-            }) 
316
+
317
+            }).catch(() => {
318
+
319
+            })
267
         },
320
         },
268
         departmentApplica() {
321
         departmentApplica() {
269
 
322
 

+ 337
- 333
src/views/caseManagement/components/addCase.vue Просмотреть файл

3
         <el-dialog :title="title" :visible="addVisable" v-if="addVisable" @close="cancel" width="1000px" center
3
         <el-dialog :title="title" :visible="addVisable" v-if="addVisable" @close="cancel" width="1000px" center
4
             :distroy-on-close="true">
4
             :distroy-on-close="true">
5
             <el-tabs v-model="activeName">
5
             <el-tabs v-model="activeName">
6
-                <el-tab-pane label="案件信息" name="first"><el-form :model="formData" ref="ruleForm" label-width="130px"
7
-                        class="demo-ruleForm" :disabled="caseDisabled">
8
-                        <el-row>
9
-                            <div style="display: inline-flex">
10
-                                <div class="infoIcon"></div>
11
-                                <div class="caseInfo">案件信息:</div>
12
-                            </div>
13
-                            <el-divider></el-divider>
14
-                            <el-col :span="24">
15
-                                <el-form-item label="申请人仲裁请求" prop="arbitratClaims" :rules="[
16
-                                    {
17
-                                        required: true,
18
-                                        message: '申请人仲裁请求不能为空',
19
-                                        trigger: 'blur',
20
-                                    },
21
-                                ]">
22
-                                    <el-input v-model="formData.arbitratClaims" placeholder="请输入申请人仲裁诉求" type="textarea"
23
-                                        :autosize="{ minRows: 4, maxRows: 8 }" />
24
-                                </el-form-item>
25
-                            </el-col>
26
-                            <el-col :span="24">
27
-                                <el-form-item label="事实和理由" prop="facts" :rules="[
28
-                                    {
29
-                                        required: true,
30
-                                        message: '事实和理由不能为空',
31
-                                        trigger: 'blur',
32
-                                    },
33
-                                ]">
34
-                                    <el-input v-model="formData.facts" placeholder="请输入事实和理由" type="textarea"
35
-                                        :autosize="{ minRows: 4, maxRows: 8 }" />
36
-                                </el-form-item>
37
-                            </el-col>
38
-                            <el-col :span="24">
39
-                                <el-form-item label="申请人请求仲裁庭裁决" prop="requestRule">
40
-                                    <el-input v-model="formData.requestRule" placeholder="请输入申请人请求仲裁庭裁决" type="textarea"
41
-                                        :autosize="{ minRows: 4, maxRows: 8 }" />
42
-                                </el-form-item>
43
-                            </el-col>
44
-                            <el-col :span="24">
45
-                                <el-form-item label="案件描述" prop="caseDescribe">
46
-                                    <el-input v-model="formData.caseDescribe" placeholder="请输入案件描述" type="textarea"
47
-                                        :autosize="{ minRows: 4, maxRows: 8 }" />
48
-                                </el-form-item>
49
-                            </el-col>
50
-                            <el-col :span="12">
51
-                                <el-form-item label="案件标的" prop="caseSubjectAmount" :rules="[
52
-                                    {
53
-                                        required: true,
54
-                                        message: '案件标的不能为空',
55
-                                        trigger: 'blur',
56
-                                    },
57
-                                ]">
58
-                                    <el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" />
59
-                                </el-form-item>
60
-                            </el-col>
61
-                            <el-col :span="24">
62
-                                <el-form-item label="裁决书模板" prop="templateId" :rules="[
63
-                                    {
64
-                                        required: true,
65
-                                        message: '裁决书模板',
66
-                                        trigger: 'blur',
67
-                                    },
68
-                                ]">
69
-                                    <el-select placeholder="请选择裁决书模板" v-model="formData.templateId">
70
-                                        <el-option v-for="item in templateList" :label="item.temName" :key="item.id"
71
-                                            :value="item.id"></el-option>
72
-                                    </el-select>
73
-                                </el-form-item>
74
-                            </el-col>
75
-                            <el-col :span="12">
76
-                                <el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence">
77
-                                    <el-upload class="upload-demo" ref="fileupload" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
78
-                                        :action="UploadUrl()" :on-success="handlSuccess" :on-remove="handleRemove"
79
-                                        :on-preview="handlePreview" :before-remove="beforeRemove" :data="filedata"
80
-                                        :headers="headers" multiple :limit="50" :on-exceed="handleExceed"
81
-                                        :file-list="fileList">
82
-                                        <el-button size="small" type="primary">点击上传</el-button>
83
-                                        <div slot="tip" class="el-upload__tip">
84
-                                            文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
85
-                                        </div>
86
-                                    </el-upload>
87
-                                </el-form-item>
88
-                            </el-col>
89
-                            <el-col :span="24" v-if="modelFlag">
90
-                                <el-form-item label="证据">
91
-                                    <div v-for="(item, index) in formData.caseAttachList" :key="index">
92
-                                        <div style="color: blue;cursor: pointer;" @click="fileDetil(item.annexPath)">{{
93
-                                            item.annexName }}</div>
94
-                                    </div>
95
-                                </el-form-item>
96
-                            </el-col>
97
-                            <el-col :span="24">
98
-                                <div style="display: inline-flex">
99
-                                    <div class="infoIcon"></div>
100
-                                    <div class="caseInfo">双方信息:</div>
6
+                <el-tab-pane label="案件信息" name="first">
7
+
8
+                </el-tab-pane>
9
+                <el-tab-pane label="证据清单" name="second" v-if="tabFlag">
10
+                    
11
+                </el-tab-pane>
12
+            </el-tabs>
13
+            <el-form v-if="activeName == 'first'" :disabled="caseDisabled" :model="formData" ref="ruleForm" label-width="130px" class="demo-ruleForm">
14
+                <el-row>
15
+                    <div style="display: inline-flex">
16
+                        <div class="infoIcon"></div>
17
+                        <div class="caseInfo">案件信息:</div>
18
+                    </div>
19
+                    <el-divider></el-divider>
20
+                    <el-col :span="24">
21
+                        <el-form-item label="申请人仲裁请求" prop="arbitratClaims" :rules="[
22
+                            {
23
+                                required: true,
24
+                                message: '申请人仲裁请求不能为空',
25
+                                trigger: 'blur',
26
+                            },
27
+                        ]">
28
+                            <el-input v-model="formData.arbitratClaims" placeholder="请输入申请人仲裁诉求" type="textarea"
29
+                                :autosize="{ minRows: 4, maxRows: 8 }" />
30
+                        </el-form-item>
31
+                    </el-col>
32
+                    <el-col :span="24">
33
+                        <el-form-item label="事实和理由" prop="facts" :rules="[
34
+                            {
35
+                                required: true,
36
+                                message: '事实和理由不能为空',
37
+                                trigger: 'blur',
38
+                            },
39
+                        ]">
40
+                            <el-input v-model="formData.facts" placeholder="请输入事实和理由" type="textarea"
41
+                                :autosize="{ minRows: 4, maxRows: 8 }" />
42
+                        </el-form-item>
43
+                    </el-col>
44
+                    <el-col :span="24">
45
+                        <el-form-item label="申请人请求仲裁庭裁决" prop="requestRule">
46
+                            <el-input v-model="formData.requestRule" placeholder="请输入申请人请求仲裁庭裁决" type="textarea"
47
+                                :autosize="{ minRows: 4, maxRows: 8 }" />
48
+                        </el-form-item>
49
+                    </el-col>
50
+                    <el-col :span="24">
51
+                        <el-form-item label="案件描述" prop="caseDescribe">
52
+                            <el-input v-model="formData.caseDescribe" placeholder="请输入案件描述" type="textarea"
53
+                                :autosize="{ minRows: 4, maxRows: 8 }" />
54
+                        </el-form-item>
55
+                    </el-col>
56
+                    <el-col :span="12">
57
+                        <el-form-item label="案件标的" prop="caseSubjectAmount" :rules="[
58
+                            {
59
+                                required: true,
60
+                                message: '案件标的不能为空',
61
+                                trigger: 'blur',
62
+                            },
63
+                        ]">
64
+                            <el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" />
65
+                        </el-form-item>
66
+                    </el-col>
67
+                    <el-col :span="24">
68
+                        <el-form-item label="裁决书模板" prop="templateId" :rules="[
69
+                            {
70
+                                required: true,
71
+                                message: '裁决书模板',
72
+                                trigger: 'blur',
73
+                            },
74
+                        ]">
75
+                            <el-select placeholder="请选择裁决书模板" v-model="formData.templateId">
76
+                                <el-option v-for="item in templateList" :label="item.temName" :key="item.id"
77
+                                    :value="item.id"></el-option>
78
+                            </el-select>
79
+                        </el-form-item>
80
+                    </el-col>
81
+                    <el-col :span="12">
82
+                        <el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence">
83
+                            <el-upload class="upload-demo" ref="fileupload" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
84
+                                :action="UploadUrl()" :on-success="handlSuccess" :on-remove="handleRemove"
85
+                                :on-preview="handlePreview" :before-remove="beforeRemove" :data="filedata"
86
+                                :headers="headers" multiple :limit="50" :on-exceed="handleExceed" :file-list="fileList">
87
+                                <el-button size="small" type="primary">点击上传</el-button>
88
+                                <div slot="tip" class="el-upload__tip">
89
+                                    文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
101
                                 </div>
90
                                 </div>
102
-                                <el-divider></el-divider>
103
-                            </el-col>
104
-                            <el-col :span="12">
105
-                                <el-form-item label="申请机构名称" prop="affiliate.applicationOrganName" :rules="[
106
-                                    {
107
-                                        required: true,
108
-                                        message: '申请机构名称不能为空',
109
-                                        trigger: 'blur',
110
-                                    },
111
-                                ]">
112
-                                    <el-input v-model="formData.affiliate.applicationOrganName" placeholder="请输入申请机构名称" />
113
-                                </el-form-item>
114
-                            </el-col>
115
-                            <el-col :span="12">
116
-                                <el-form-item label="统一社会信用代码" prop="affiliate.creditCode" :rules="[
117
-                                    {
118
-                                        required: true,
119
-                                        message: '统一社会信用代码不能为空',
120
-                                        trigger: 'blur',
121
-                                    },
122
-                                ]">
123
-                                    <el-input v-model="formData.affiliate.creditCode" placeholder="请输入统一社会信用代码" />
124
-                                </el-form-item>
125
-                            </el-col>
126
-                            <el-col :span="12">
127
-                                <el-form-item label="法定代表人" prop="affiliate.compLegalPerson" :rules="[
128
-                                    {
129
-                                        required: true,
130
-                                        message: '法定代表人不能为空',
131
-                                        trigger: 'blur',
132
-                                    },
133
-                                ]">
134
-                                    <el-input v-model="formData.affiliate.compLegalPerson" placeholder="请输入法定代表人" />
135
-                                </el-form-item>
136
-                            </el-col>
137
-                            <el-col :span="12">
138
-                                <el-form-item label="申请人住所" prop="affiliate.applicantHome" :rules="[
139
-                                    {
140
-                                        required: true,
141
-                                        message: '申请人住所不能为空',
142
-                                        trigger: 'blur',
143
-                                    },
144
-                                ]">
145
-                                    <el-input v-model="formData.affiliate.applicantHome" placeholder="请输入申请人住所" />
146
-                                </el-form-item>
147
-                            </el-col>
148
-                            <el-col :span="12">
149
-                                <el-form-item label="申请人联系地址" prop="affiliate.applicantAddress" :rules="[
150
-                                    {
151
-                                        required: true,
152
-                                        message: '申请人联系地址不能为空',
153
-                                        trigger: 'blur',
154
-                                    },
155
-                                ]">
156
-                                    <el-input v-model="formData.affiliate.applicantAddress" placeholder="请输入申请人联系地址" />
157
-                                </el-form-item>
158
-                            </el-col>
159
-                            <el-col :span="12">
160
-                                <el-form-item label="代理人联系电话" prop="affiliate.contactTelphoneAgent" :rules="[
161
-                                    {
162
-                                        required: true,
163
-                                        message: '代理人联系电话不能为空',
164
-                                        trigger: 'blur',
165
-                                    },
166
-                                    {
167
-                                        pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
168
-                                        message: '请输入正确的手机号码',
169
-                                        trigger: 'blur',
170
-                                    },
171
-                                ]">
172
-                                    <el-input v-model="formData.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
173
-                                </el-form-item>
174
-                            </el-col>
175
-                            <el-col :span="12">
176
-                                <el-form-item label="委托代理人姓名" prop="affiliate.nameAgent" :rules="[
177
-                                    {
178
-                                        required: true,
179
-                                        message: '委托代理人姓名不能为空',
180
-                                        trigger: 'blur',
181
-                                    },
182
-                                ]">
183
-                                    <el-input v-model="formData.affiliate.nameAgent" placeholder="请输入委托代理人姓名" />
184
-                                </el-form-item>
185
-                            </el-col>
186
-                            <el-col :span="12">
187
-                                <el-form-item label="代理人邮箱" prop="affiliate.agentEmail" :rules="[
188
-                                    {
189
-                                        required: true,
190
-                                        message: '代理人邮箱不能为空',
191
-                                        trigger: 'blur',
192
-                                    },
193
-                                    {
194
-                                        pattern:
195
-                                            /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
196
-                                        message: '请输入正确的邮箱地址',
197
-                                        trigger: 'blur',
198
-                                    },
199
-                                ]">
200
-                                    <el-input v-model="formData.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
201
-                                </el-form-item>
202
-                            </el-col>
203
-                            <el-col :span="12">
204
-                                <el-form-item label="被申请人姓名" prop="affiliate.respondentName" :rules="[
205
-                                    {
206
-                                        required: true,
207
-                                        message: '被申请人姓名不能为空',
208
-                                        trigger: 'blur',
209
-                                    },
210
-                                ]">
211
-                                    <el-input v-model="formData.affiliate.respondentName" placeholder="请输入被申请人姓名" />
212
-                                </el-form-item>
213
-                            </el-col>
214
-                            <el-col :span="12">
215
-                                <el-form-item label="被申请人联系电话" prop="affiliate.respondentPhone" :rules="[
216
-                                    {
217
-                                        required: true,
218
-                                        message: '被申请人联系电话不能为空',
219
-                                        trigger: 'blur',
220
-                                    },
221
-                                    {
222
-                                        pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
223
-                                        message: '请输入正确的手机号码',
224
-                                        trigger: 'blur',
225
-                                    },
226
-                                ]">
227
-                                    <el-input v-model="formData.affiliate.respondentPhone" placeholder="请输入被申请人联系电话" />
228
-                                </el-form-item>
229
-                            </el-col>
230
-                            <el-col :span="12">
231
-                                <el-form-item label="被申请人身份证号" prop="affiliate.respondentIdentityNum" :rules="[
232
-                                    {
233
-                                        required: true,
234
-                                        message: '被申请人身份证号不能为空',
235
-                                        trigger: 'blur',
236
-                                    },
237
-                                    {
238
-                                        pattern:
239
-                                            /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
240
-                                        message: '请输入正确的身份证号码',
241
-                                        trigger: 'blur',
242
-                                    },
243
-                                ]">
244
-                                    <el-input v-model="formData.affiliate.respondentIdentityNum"
245
-                                        placeholder="请输入被申请人身份证号" />
246
-                                </el-form-item>
247
-                            </el-col>
248
-                            <el-col :span="12">
249
-                                <el-form-item label="被申请人性别:" prop="affiliate.respondentSex" :rules="[
250
-                                    {
251
-                                        required: true,
252
-                                        message: '请选择性别'
253
-                                    },
254
-                                ]">
255
-                                    <el-radio-group v-model="formData.affiliate.respondentSex">
256
-                                        <el-radio label="0">男</el-radio>
257
-                                        <el-radio label="1">女</el-radio>
258
-                                    </el-radio-group>
259
-                                </el-form-item>
260
-                            </el-col>
261
-                            <el-col :span="12">
262
-                                <el-form-item label="被申请人出生年月日:" prop="affiliate.respondentBirth" :rules="[
263
-                                    {
264
-                                        required: true,
265
-                                        message: '被申请人出生年月日不能为空',
266
-                                        trigger: 'blur',
267
-                                    },
268
-                                ]">
269
-                                    <el-date-picker v-model="formData.affiliate.respondentBirth" type="date"
270
-                                        placeholder="被申请人出生年月日">
271
-                                    </el-date-picker>
272
-                                </el-form-item>
273
-                            </el-col>
274
-                            <el-col :span="12">
275
-                                <el-form-item label="被申请人申请人住所" prop="affiliate.respondentHome" :rules="[
276
-                                    {
277
-                                        required: true,
278
-                                        message: '被申请人申请人住所不能为空',
279
-                                        trigger: 'blur',
280
-                                    },
281
-                                ]">
282
-                                    <el-input v-model="formData.affiliate.respondentHome" placeholder="请输入被申请人申请人住所" />
283
-                                </el-form-item>
284
-                            </el-col>
285
-                            <el-col :span="12">
286
-                                <el-form-item label="被申请人邮箱" prop="affiliate.respondentEmail" :rules="[
287
-                                    {
288
-                                        required: true,
289
-                                        message: '代理人邮箱不能为空',
290
-                                        trigger: 'blur',
291
-                                    },
292
-                                    {
293
-                                        pattern:
294
-                                            /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
295
-                                        message: '请输入正确的邮箱地址',
296
-                                        trigger: 'blur',
297
-                                    },
298
-                                ]">
299
-                                    <el-input v-model="formData.affiliate.respondentEmail" placeholder="请输入被申请人邮箱" />
300
-                                </el-form-item>
301
-                            </el-col>
302
-                        </el-row>
303
-                        <el-col :span="24" v-if="modelFlag">
304
-                            <div style="display: inline-flex">
305
-                                <div class="infoIcon"></div>
306
-                                <div class="caseInfo">抓取规则设置</div>
91
+                            </el-upload>
92
+                        </el-form-item>
93
+                    </el-col>
94
+                    <el-col :span="24" v-if="modelFlag">
95
+                        <el-form-item label="证据">
96
+                            <div v-for="(item, index) in formData.caseAttachList" :key="index">
97
+                                <div style="color: blue;cursor: pointer;" @click="fileDetil(item.annexPath)">{{
98
+                                    item.annexName }}</div>
307
                             </div>
99
                             </div>
308
-                            <el-divider></el-divider>
309
-                        </el-col>
310
-                        <el-col :span="24" v-if="modelFlag">
311
-                            <el-form-item v-for="(item) in formData.columnValueList" :label="item.name" :key="item.id">
312
-                                <el-input type="textarea" v-model="item.value"></el-input>
313
-                            </el-form-item>
314
-                        </el-col>
315
-                    </el-form></el-tab-pane>
316
-                <el-tab-pane label="证据清单" name="second" v-show="evidenceFlag">
317
-                    <el-card class="box-card" style="margin-bottom: 30px;">
318
-                        <div slot="header" class="clearfix">
319
-                            <span>申请人证据清单</span>
320
-                        </div>
321
-                        <div v-for="(item, index) in applicantEvidence" :key="index" class="text item"
322
-                            style="color: blue;cursor: pointer;" @click="toPreview(item.annexPath)">
323
-                            {{ item.annexName }}
100
+                        </el-form-item>
101
+                    </el-col>
102
+                    <el-col :span="24">
103
+                        <div style="display: inline-flex">
104
+                            <div class="infoIcon"></div>
105
+                            <div class="caseInfo">双方信息:</div>
324
                         </div>
106
                         </div>
325
-                    </el-card>
326
-                    <el-card class="box-card">
327
-                        <div slot="header" class="clearfix">
328
-                            <span>被申请人证据清单</span>
329
-                        </div>
330
-                        <div v-for="(item, index) in respondentEvidence" :key="index" class="text item"
331
-                            style="color: blue;cursor: pointer;" @click="toPreview(item.annexPath)">
332
-                            {{ item.annexName }}
333
-                        </div>
334
-                    </el-card>
335
-                </el-tab-pane>
336
-            </el-tabs>
337
-
107
+                        <el-divider></el-divider>
108
+                    </el-col>
109
+                    <el-col :span="12">
110
+                        <el-form-item label="申请机构名称" prop="affiliate.applicationOrganName" :rules="[
111
+                            {
112
+                                required: true,
113
+                                message: '申请机构名称不能为空',
114
+                                trigger: 'blur',
115
+                            },
116
+                        ]">
117
+                            <el-input v-model="formData.affiliate.applicationOrganName" placeholder="请输入申请机构名称" />
118
+                        </el-form-item>
119
+                    </el-col>
120
+                    <el-col :span="12">
121
+                        <el-form-item label="统一社会信用代码" prop="affiliate.creditCode" :rules="[
122
+                            {
123
+                                required: true,
124
+                                message: '统一社会信用代码不能为空',
125
+                                trigger: 'blur',
126
+                            },
127
+                        ]">
128
+                            <el-input v-model="formData.affiliate.creditCode" placeholder="请输入统一社会信用代码" />
129
+                        </el-form-item>
130
+                    </el-col>
131
+                    <el-col :span="12">
132
+                        <el-form-item label="法定代表人" prop="affiliate.compLegalPerson" :rules="[
133
+                            {
134
+                                required: true,
135
+                                message: '法定代表人不能为空',
136
+                                trigger: 'blur',
137
+                            },
138
+                        ]">
139
+                            <el-input v-model="formData.affiliate.compLegalPerson" placeholder="请输入法定代表人" />
140
+                        </el-form-item>
141
+                    </el-col>
142
+                    <el-col :span="12">
143
+                        <el-form-item label="申请人住所" prop="affiliate.applicantHome" :rules="[
144
+                            {
145
+                                required: true,
146
+                                message: '申请人住所不能为空',
147
+                                trigger: 'blur',
148
+                            },
149
+                        ]">
150
+                            <el-input v-model="formData.affiliate.applicantHome" placeholder="请输入申请人住所" />
151
+                        </el-form-item>
152
+                    </el-col>
153
+                    <el-col :span="12">
154
+                        <el-form-item label="申请人联系地址" prop="affiliate.applicantAddress" :rules="[
155
+                            {
156
+                                required: true,
157
+                                message: '申请人联系地址不能为空',
158
+                                trigger: 'blur',
159
+                            },
160
+                        ]">
161
+                            <el-input v-model="formData.affiliate.applicantAddress" placeholder="请输入申请人联系地址" />
162
+                        </el-form-item>
163
+                    </el-col>
164
+                    <el-col :span="12">
165
+                        <el-form-item label="代理人联系电话" prop="affiliate.contactTelphoneAgent" :rules="[
166
+                            {
167
+                                required: true,
168
+                                message: '代理人联系电话不能为空',
169
+                                trigger: 'blur',
170
+                            },
171
+                            {
172
+                                pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
173
+                                message: '请输入正确的手机号码',
174
+                                trigger: 'blur',
175
+                            },
176
+                        ]">
177
+                            <el-input v-model="formData.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
178
+                        </el-form-item>
179
+                    </el-col>
180
+                    <el-col :span="12">
181
+                        <el-form-item label="委托代理人姓名" prop="affiliate.nameAgent" :rules="[
182
+                            {
183
+                                required: true,
184
+                                message: '委托代理人姓名不能为空',
185
+                                trigger: 'blur',
186
+                            },
187
+                        ]">
188
+                            <el-input v-model="formData.affiliate.nameAgent" placeholder="请输入委托代理人姓名" />
189
+                        </el-form-item>
190
+                    </el-col>
191
+                    <el-col :span="12">
192
+                        <el-form-item label="代理人邮箱" prop="affiliate.agentEmail" :rules="[
193
+                            {
194
+                                required: true,
195
+                                message: '代理人邮箱不能为空',
196
+                                trigger: 'blur',
197
+                            },
198
+                            {
199
+                                pattern:
200
+                                    /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
201
+                                message: '请输入正确的邮箱地址',
202
+                                trigger: 'blur',
203
+                            },
204
+                        ]">
205
+                            <el-input v-model="formData.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
206
+                        </el-form-item>
207
+                    </el-col>
208
+                    <el-col :span="12">
209
+                        <el-form-item label="被申请人姓名" prop="affiliate.respondentName" :rules="[
210
+                            {
211
+                                required: true,
212
+                                message: '被申请人姓名不能为空',
213
+                                trigger: 'blur',
214
+                            },
215
+                        ]">
216
+                            <el-input v-model="formData.affiliate.respondentName" placeholder="请输入被申请人姓名" />
217
+                        </el-form-item>
218
+                    </el-col>
219
+                    <el-col :span="12">
220
+                        <el-form-item label="被申请人联系电话" prop="affiliate.respondentPhone" :rules="[
221
+                            {
222
+                                required: true,
223
+                                message: '被申请人联系电话不能为空',
224
+                                trigger: 'blur',
225
+                            },
226
+                            {
227
+                                pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
228
+                                message: '请输入正确的手机号码',
229
+                                trigger: 'blur',
230
+                            },
231
+                        ]">
232
+                            <el-input v-model="formData.affiliate.respondentPhone" placeholder="请输入被申请人联系电话" />
233
+                        </el-form-item>
234
+                    </el-col>
235
+                    <el-col :span="12">
236
+                        <el-form-item label="被申请人身份证号" prop="affiliate.respondentIdentityNum" :rules="[
237
+                            {
238
+                                required: true,
239
+                                message: '被申请人身份证号不能为空',
240
+                                trigger: 'blur',
241
+                            },
242
+                            {
243
+                                pattern:
244
+                                    /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
245
+                                message: '请输入正确的身份证号码',
246
+                                trigger: 'blur',
247
+                            },
248
+                        ]">
249
+                            <el-input v-model="formData.affiliate.respondentIdentityNum" placeholder="请输入被申请人身份证号" />
250
+                        </el-form-item>
251
+                    </el-col>
252
+                    <el-col :span="12">
253
+                        <el-form-item label="被申请人性别:" prop="affiliate.respondentSex" :rules="[
254
+                            {
255
+                                required: true,
256
+                                message: '请选择性别'
257
+                            },
258
+                        ]">
259
+                            <el-radio-group v-model="formData.affiliate.respondentSex">
260
+                                <el-radio label="0">男</el-radio>
261
+                                <el-radio label="1">女</el-radio>
262
+                            </el-radio-group>
263
+                        </el-form-item>
264
+                    </el-col>
265
+                    <el-col :span="12">
266
+                        <el-form-item label="被申请人出生年月日:" prop="affiliate.respondentBirth" :rules="[
267
+                            {
268
+                                required: true,
269
+                                message: '被申请人出生年月日不能为空',
270
+                                trigger: 'blur',
271
+                            },
272
+                        ]">
273
+                            <el-date-picker v-model="formData.affiliate.respondentBirth" type="date"
274
+                                placeholder="被申请人出生年月日">
275
+                            </el-date-picker>
276
+                        </el-form-item>
277
+                    </el-col>
278
+                    <el-col :span="12">
279
+                        <el-form-item label="被申请人申请人住所" prop="affiliate.respondentHome" :rules="[
280
+                            {
281
+                                required: true,
282
+                                message: '被申请人申请人住所不能为空',
283
+                                trigger: 'blur',
284
+                            },
285
+                        ]">
286
+                            <el-input v-model="formData.affiliate.respondentHome" placeholder="请输入被申请人申请人住所" />
287
+                        </el-form-item>
288
+                    </el-col>
289
+                    <el-col :span="12">
290
+                        <el-form-item label="被申请人邮箱" prop="affiliate.respondentEmail" :rules="[
291
+                            {
292
+                                required: true,
293
+                                message: '代理人邮箱不能为空',
294
+                                trigger: 'blur',
295
+                            },
296
+                            {
297
+                                pattern:
298
+                                    /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
299
+                                message: '请输入正确的邮箱地址',
300
+                                trigger: 'blur',
301
+                            },
302
+                        ]">
303
+                            <el-input v-model="formData.affiliate.respondentEmail" placeholder="请输入被申请人邮箱" />
304
+                        </el-form-item>
305
+                    </el-col>
306
+                </el-row>
307
+                <el-col :span="24" v-if="modelFlag">
308
+                    <div style="display: inline-flex">
309
+                        <div class="infoIcon"></div>
310
+                        <div class="caseInfo">抓取规则设置</div>
311
+                    </div>
312
+                    <el-divider></el-divider>
313
+                </el-col>
314
+                <el-col :span="24" v-if="modelFlag">
315
+                    <el-form-item v-for="(item) in formData.columnValueList" :label="item.name" :key="item.id">
316
+                        <el-input type="textarea" v-model="item.value"></el-input>
317
+                    </el-form-item>
318
+                </el-col>
319
+            </el-form>
320
+            <div v-if="activeName == 'second'">
321
+                <el-card class="box-card" style="margin-bottom: 30px;">
322
+                    <div slot="header" class="clearfix">
323
+                        <span>申请人证据清单</span>
324
+                    </div>
325
+                    <div v-for="(item, index) in applicantEvidence" :key="index" class="text item"
326
+                        style="color: blue;cursor: pointer;" @click="toPreview(item.annexPath)">
327
+                        {{ item.annexName }}
328
+                    </div>
329
+                </el-card>
330
+                <el-card class="box-card">
331
+                    <div slot="header" class="clearfix">
332
+                        <span>被申请人证据清单</span>
333
+                    </div>
334
+                    <div v-for="(item, index) in respondentEvidence" :key="index" class="text item"
335
+                        style="color: blue;cursor: pointer;" @click="toPreview(item.annexPath)">
336
+                        {{ item.annexName }}
337
+                    </div>
338
+                </el-card>
339
+            </div>
338
             <div slot="footer" class="dialog-footer">
340
             <div slot="footer" class="dialog-footer">
339
                 <el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
341
                 <el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
340
                 <el-button type="primary" @click="submitForm" class="endbutton"><span>确认</span></el-button>
342
                 <el-button type="primary" @click="submitForm" class="endbutton"><span>确认</span></el-button>
352
 } from "@/api/officialSeal/officialSeal.js";
354
 } from "@/api/officialSeal/officialSeal.js";
353
 import { getToken } from "@/utils/auth";
355
 import { getToken } from "@/utils/auth";
354
 export default {
356
 export default {
355
-    props: ["addVisable", "queryParams", "caseData", "caseDisabled"],
357
+    props: ["addVisable", "queryParams", "caseData", "caseDisabled","tabFlag"],
356
     dicts: ["case_built_type"],
358
     dicts: ["case_built_type"],
357
     data() {
359
     data() {
358
         return {
360
         return {
377
             },
379
             },
378
             applicantEvidence: [],//申请人证据
380
             applicantEvidence: [],//申请人证据
379
             respondentEvidence: [],//被申请人证据
381
             respondentEvidence: [],//被申请人证据
380
-            evidenceFlag: false
381
         };
382
         };
382
     },
383
     },
383
     watch: {
384
     watch: {
390
                     this.title = '修改案件';
391
                     this.title = '修改案件';
391
                     this.caseApplicationSelectByIdFn(val.id)
392
                     this.caseApplicationSelectByIdFn(val.id)
392
                 } else if (!val.id && !val.flag) {
393
                 } else if (!val.id && !val.flag) {
393
-                    this.evidenceFlag = false;
394
                     this.modelFlag = false;
394
                     this.modelFlag = false;
395
                     this.title = '新增案件';
395
                     this.title = '新增案件';
396
                     this.formData = {
396
                     this.formData = {
403
                 } else if (val.id && val.flag == 1) {
403
                 } else if (val.id && val.flag == 1) {
404
                     this.modelFlag = true;
404
                     this.modelFlag = true;
405
                     this.title = '案件详情';
405
                     this.title = '案件详情';
406
-                    this.evidenceFlag = true;
407
                     this.caseApplicationSelectByIdFn(val.id);
406
                     this.caseApplicationSelectByIdFn(val.id);
408
                 }
407
                 }
409
             },
408
             },
410
         },
409
         },
410
+        addVisable(val){
411
+            if(val){
412
+                this.activeName = 'first';
413
+            }
414
+        }
411
     },
415
     },
412
     created() {
416
     created() {
413
 
417
 

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

1
+<template>
2
+  <div>
3
+    <el-dialog :title="payTitle" v-if="openPay" :visible="openPay" @close="payCancel" width="800px" append-to-body
4
+      :destroy-on-close="true" center>
5
+      <el-descriptions title="订单信息">
6
+        <el-descriptions-item label="案件编号">{{
7
+          formPayDetail.caseNum
8
+        }}</el-descriptions-item>
9
+        <el-descriptions-item label="申请人">{{
10
+          formPayDetail.affiliate.applicationOrganName || ''
11
+        }}</el-descriptions-item>
12
+        <el-descriptions-item label="案件标的">{{
13
+          formPayDetail.caseSubjectAmount
14
+        }}</el-descriptions-item>
15
+        <el-descriptions-item label="案件应缴费用">{{
16
+          formPayDetail.feePayable
17
+        }}</el-descriptions-item>
18
+        <el-descriptions-item label="被申请人">{{
19
+          formPayDetail.affiliate.respondentName
20
+        }}</el-descriptions-item>
21
+        <!-- <el-descriptions-item label="案件状态">
22
+          <el-tag size="mini" type='danger' effect="dark">
23
+            {{ formPayDetail.caseStatusName }}
24
+          </el-tag>
25
+        </el-descriptions-item> -->
26
+      </el-descriptions>
27
+      <div class="paySelectType">
28
+        <el-radio-group v-model="paySelect" @input="changPayType">
29
+          <el-radio :label="0">线上支付</el-radio>
30
+          <el-radio :label="1">线下支付</el-radio>
31
+        </el-radio-group>
32
+      </div>
33
+      <div class="payupload">
34
+        <span>上传支付凭证:</span>
35
+        <div class="uploadBtn">
36
+          <el-upload class="upload-demo" ref="upload" :action="UploadUrl()" :headers="headers" :data="filedata"
37
+            :on-preview="handlePreview" :on-remove="handleRemove" :on-change="beforeUpload"  :on-success="handlSuccess" :file-list="fileList"
38
+           >
39
+            <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
40
+            <!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
41
+            <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
42
+          </el-upload>
43
+        </div>
44
+      </div>
45
+      <div class="payType" v-if="paySelect == 0">
46
+        <span>请选择支付方式:</span>
47
+        <i class="iconfont icon-weixinzhifu" @click="pay(0)"></i>
48
+        <i class="iconfont icon-zhifubao" @click="pay(1)"></i>
49
+      </div>
50
+      <div class="payImg">
51
+        <div id="qrcodeImg"></div>
52
+      </div>
53
+      <div class="payTitle">{{ payMain }}</div>
54
+      <div slot="footer" class="dialog-footer">
55
+        <el-button @click="payCancel" class="endbutton"><span>取 消</span></el-button>
56
+        <el-button @click="submitUpload" class="endbutton"><span>确认缴费</span></el-button>
57
+      </div>
58
+    </el-dialog>
59
+  </div>
60
+</template>
61
+
62
+<script>
63
+import { casePay, confirmPayDig } from "@/api/pay/pay";
64
+import QRCode from "qrcodejs2";
65
+import { getToken } from "@/utils/auth";
66
+export default {
67
+  props: ["openPay", "payTitle", "formPayDetail", "payForm", "queryParams","payId"],
68
+  data() {
69
+    return {
70
+      // key: value
71
+      // 支付文字
72
+      payMain: "",
73
+      timer: null,
74
+      paySelect: 1,//支付线上/线下
75
+      fileList: [],
76
+      headers: {
77
+        Authorization: "Bearer " + getToken(),
78
+      },
79
+      filedata: {
80
+        annexType: 8,
81
+      },
82
+      submitForm:{
83
+        payType:1,
84
+        payOrderList:[],
85
+        caseId:null
86
+      }
87
+    };
88
+  },
89
+  methods: {
90
+    UploadUrl() {
91
+      return window.location.origin + "/API/common/upload";
92
+    },
93
+    //选择支付方式(线上,线下)
94
+    changPayType(data) {
95
+      if(data == 1){
96
+        document.getElementById("qrcodeImg").innerHTML = "";
97
+        this.payMain = ""
98
+      }
99
+      this.submitForm.payType = data;
100
+    },
101
+    beforeUpload(flie, fileList) {
102
+      this.fileList = fileList;
103
+    },
104
+    // 文件上传成功
105
+    handlSuccess(res, file) {
106
+      this.submitForm.payOrderList.push({
107
+        annexId: res.annexId,
108
+        annexName:res.annexName
109
+      });
110
+    },
111
+    submitUpload() {
112
+      if (this.fileList.length < 1) {
113
+        this.$modal.msgError("请上传缴费凭证");
114
+        return
115
+      }
116
+      this.submitForm.caseFlowId = this.formPayDetail.caseFlowId;
117
+      confirmPayDig(this.submitForm).then(res=>{
118
+        this.$modal.msgSuccess("成功");
119
+        this.payCancel()
120
+        this.$emit("getList", this.queryParams);
121
+      })
122
+    },
123
+    handleRemove(file, fileList) {
124
+      (this.submitForm.payOrderList = []),
125
+      fileList.forEach((item) => {
126
+          this.submitForm.payOrderList.push({ annexId:item.response.data.annexId,annexName:item.response.data.annexName });
127
+        });
128
+    },
129
+    handlePreview(file) {
130
+    },
131
+    // 生成二维码
132
+    qrcode(url) {
133
+      // 前端根据 URL 生成微信支付二维码
134
+      document.getElementById("qrcodeImg").innerHTML = "";
135
+      return new QRCode("qrcodeImg", {
136
+        width: 200,
137
+        height: 200,
138
+        text: url,
139
+        colorDark: "#000",
140
+        colorLight: "#fff",
141
+      });
142
+    },
143
+    // 支付
144
+    pay(val) {
145
+      if (this.payForm.feePayable == 0 || !this.payForm.feePayable) {
146
+        this.$message({
147
+          message: "此案件无需缴费",
148
+          type: "error",
149
+        });
150
+        return;
151
+      }
152
+      let payType = "";
153
+      if (val == 0) {
154
+        payType = "wxpay";
155
+        this.payMain = "请使用微信扫二维码支付";
156
+      } else if (val == 1) {
157
+        payType = "alipay";
158
+        this.payMain = "请使用支付宝扫二维码支付";
159
+      }
160
+      casePay({
161
+        totalFee: this.payForm.feePayable * 100,
162
+        caseId: this.payForm.caseId,
163
+        tradeType: "native",
164
+        platform: payType,
165
+      }).then((res) => {
166
+        this.paySrc = res.data.code_url;
167
+        this.qrcode(this.paySrc);
168
+      });
169
+    },
170
+    payCancel() {
171
+      this.$emit("paycancelRow");
172
+      this.payMain = "";
173
+    },
174
+  },
175
+  watch:{
176
+    openPay(val){
177
+      if(val){
178
+      this.submitForm.payOrderList = []
179
+      this.paySelect = 1;
180
+      this.fileList = [];
181
+      this.filedata.id = this.payId;
182
+      this.submitForm.caseId = this.payId;
183
+      }
184
+    }
185
+  }
186
+};
187
+</script>
188
+
189
+<style lang="scss" scoped>
190
+.payType {
191
+  height: 80px;
192
+  line-height: 80px;
193
+  display: flex;
194
+
195
+  .icon-weixinzhifu {
196
+    font-size: 24px;
197
+    color: #27a56f;
198
+    margin-right: 15px;
199
+  }
200
+
201
+  .icon-zhifubao {
202
+    font-size: 24px;
203
+    color: #1d76cc;
204
+  }
205
+}
206
+
207
+.paySelectType {
208
+  margin-top: 20px;
209
+  margin-bottom: 20px;
210
+}
211
+
212
+.payupload {
213
+  display: flex;
214
+
215
+  .uploadBtn {}
216
+}
217
+
218
+.payImg {
219
+  width: 100%;
220
+  display: flex;
221
+  justify-content: center;
222
+}
223
+
224
+.payTitle {
225
+  margin-top: 20px;
226
+  width: 100%;
227
+  text-align: center;
228
+}
229
+
230
+::v-deep .el-dialog {
231
+  width: 800px;
232
+  background: #ffffff;
233
+  border-radius: 20px;
234
+}
235
+
236
+.endbutton {
237
+  width: 154px;
238
+  height: 37px;
239
+  background: #ffffff;
240
+  border: 1px solid #d0d0d0;
241
+  border-radius: 19px;
242
+
243
+  span {
244
+    width: 31px;
245
+    height: 13px;
246
+    font-size: 16px;
247
+    font-family: Microsoft YaHei;
248
+    font-weight: 400;
249
+    color: #959595;
250
+  }
251
+}
252
+</style>

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

15
 const API = 'http://121.40.189.20:6001'  //测试
15
 const API = 'http://121.40.189.20:6001'  //测试
16
 // const API = 'http://192.168.3.18:6001'  //B
16
 // const API = 'http://192.168.3.18:6001'  //B
17
 // const API = 'http://192.168.3.77:9001' //Q
17
 // const API = 'http://192.168.3.77:9001' //Q
18
-
18
+// const API = 'http://172.16.1.14:6001' //w
19
 
19
 
20
 // vue.config.js 配置说明
20
 // vue.config.js 配置说明
21
 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
21
 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions