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

Merge branch 'hhl' of SH-Arbitrate/Arbitrate-Frontend into dev

hhlxayunmei 2 лет назад
Родитель
Сommit
577cca0bc2

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

@@ -8,10 +8,10 @@ export function arbitrAtor(data) {
8 8
       params: data
9 9
     })
10 10
   }
11
-// 组庭
12
-export function pendTral(data) {
11
+// 组庭审核
12
+export function pendTralCheck(data) {
13 13
     return request({
14
-      url: '/caseApplication/pendTral',
14
+      url: '/caseApplication/pendTralCheck',
15 15
       method: 'post',
16 16
       data: data
17 17
     })

+ 15
- 0
src/views/awardManagement/listofAwards.vue Просмотреть файл

@@ -0,0 +1,15 @@
1
+<template>
2
+    <div class="app-container">
3
+        裁决书列表
4
+    </div>
5
+</template>
6
+
7
+<script>
8
+    export default {
9
+        
10
+    }
11
+</script>
12
+
13
+<style lang="scss" scoped>
14
+
15
+</style>

+ 15
- 0
src/views/caseFiling/archiveList.vue Просмотреть файл

@@ -0,0 +1,15 @@
1
+<template>
2
+    <div class="app-container">
3
+        归档列表
4
+    </div>
5
+</template>
6
+
7
+<script>
8
+    export default {
9
+        
10
+    }
11
+</script>
12
+
13
+<style lang="scss" scoped>
14
+
15
+</style>

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

@@ -0,0 +1,578 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form
4
+      :model="queryParams"
5
+      ref="queryForm"
6
+      size="small"
7
+      :inline="true"
8
+      label-width="68px"
9
+    >
10
+      <el-form-item label="案件编号" prop="caseNum">
11
+        <el-input
12
+          v-model="queryParams.caseNum"
13
+          placeholder="请输入案件编号"
14
+          clearable
15
+          @keyup.enter.native="handleQuery"
16
+        />
17
+      </el-form-item>
18
+      <el-form-item label="案件状态" prop="caseStatus">
19
+        <el-select
20
+          v-model="queryParams.caseStatus"
21
+          placeholder="请选择案件状态"
22
+          clearable
23
+          @keyup.enter.native="handleQuery"
24
+        >
25
+          <el-option
26
+            v-for="dict in dict.type.case_status"
27
+            :key="dict.value"
28
+            :label="dict.label"
29
+            :value="dict.value"
30
+          ></el-option>
31
+        </el-select>
32
+      </el-form-item>
33
+      <el-form-item label="开庭日期" prop="hearDate">
34
+        <el-date-picker
35
+          v-model="queryParams.hearDate"
36
+          type="daterange"
37
+          range-separator="至"
38
+          start-placeholder="开始日期"
39
+          end-placeholder="结束日期"
40
+        >
41
+        </el-date-picker>
42
+      </el-form-item>
43
+      <el-form-item>
44
+        <el-button
45
+          type="primary"
46
+          icon="el-icon-search"
47
+          size="mini"
48
+          @click="handleQuery"
49
+          >搜索</el-button
50
+        >
51
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
52
+          >重置</el-button
53
+        >
54
+      </el-form-item>
55
+    </el-form>
56
+    <el-row :gutter="10" class="mb8">
57
+      <el-col :span="1.5">
58
+        <el-button
59
+          type="primary"
60
+          plain
61
+          icon="el-icon-plus"
62
+          size="mini"
63
+          @click="filingApplication"
64
+          v-hasPermi="['monitor:job:add']"
65
+          >案件录入</el-button
66
+        >
67
+        <el-button
68
+          type="primary"
69
+          plain
70
+          icon="el-icon-plus"
71
+          size="mini"
72
+          @click="batchApplication"
73
+          v-hasPermi="['monitor:job:add']"
74
+          >案件批量导入</el-button
75
+        >
76
+      </el-col>
77
+    </el-row>
78
+    <el-table v-loading="loading" :data="dataList" style="width: 100%">
79
+      <el-table-column label="序号" type="index" align="center">
80
+        <template slot-scope="scope">
81
+          <span>{{
82
+            (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
83
+          }}</span>
84
+        </template>
85
+      </el-table-column>
86
+      <el-table-column
87
+        label="案件编号"
88
+        align="center"
89
+        prop="caseNum"
90
+        :show-overflow-tooltip="true"
91
+      />
92
+      <!-- <el-table-column
93
+        label="申请人"
94
+        align="center"
95
+        prop="caseAffiliates[0].name"
96
+        :show-overflow-tooltip="true"
97
+      /> -->
98
+      <el-table-column
99
+        label="案件标的"
100
+        align="center"
101
+        prop="caseSubjectAmount"
102
+      />
103
+      <el-table-column
104
+        label="立案日期"
105
+        align="center"
106
+        prop="registerDate"
107
+        :show-overflow-tooltip="true"
108
+      />
109
+      <!-- 仲裁员 -->
110
+      <el-table-column label="仲裁员" align="center" prop="arbitratorName" />
111
+      <!-- 开庭日期 -->
112
+      <el-table-column
113
+        label="开庭日期"
114
+        align="center"
115
+        prop="hearDate"
116
+        :show-overflow-tooltip="true"
117
+      />
118
+      <el-table-column label="案件状态" align="center" prop="caseStatus" />
119
+      <el-table-column
120
+        label="操作"
121
+        align="center"
122
+        class-name="small-padding fixed-width"
123
+      >
124
+        <template slot-scope="scope">
125
+          <!-- <el-button
126
+            size="mini"
127
+            type="text"
128
+            icon="el-icon-check"
129
+            @click="onsubmitRow(scope.row)"
130
+            v-hasPermi="['monitor:online:forceLogout']"
131
+            >提交</el-button
132
+          > -->
133
+          <el-button
134
+            size="mini"
135
+            type="text"
136
+            icon="el-icon-zoom-in"
137
+            @click="detailRow(scope.row)"
138
+            v-hasPermi="['monitor:online:forceLogout']"
139
+            >详情</el-button
140
+          >
141
+          <el-button
142
+            size="mini"
143
+            type="text"
144
+            icon="el-icon-edit"
145
+            @click="editRow(scope.row)"
146
+            v-hasPermi="['monitor:online:forceLogout']"
147
+            >修改</el-button
148
+          >
149
+          <el-button
150
+            size="mini"
151
+            type="text"
152
+            icon="el-icon-delete"
153
+            @click="deleteRow(scope.row)"
154
+            v-hasPermi="['monitor:online:forceLogout']"
155
+            >删除</el-button
156
+          >
157
+          <el-button
158
+            size="mini"
159
+            type="text"
160
+            icon="el-icon-zoom-in"
161
+            @click="filingreviewRow(scope.row)"
162
+            v-hasPermi="['monitor:online:forceLogout']"
163
+            >立案审查</el-button
164
+          >
165
+          <el-button
166
+            size="mini"
167
+            type="text"
168
+            icon="el-icon-tickets"
169
+            @click="viewpaymentRow(scope.row)"
170
+            v-hasPermi="['monitor:online:forceLogout']"
171
+            >查看缴费</el-button
172
+          >
173
+          <!-- <el-button
174
+            size="mini"
175
+            type="text"
176
+            icon="el-icon-data-analysis"
177
+            @click="formationcourtRow(scope.row)"
178
+            v-hasPermi="['monitor:online:forceLogout']"
179
+            >组庭</el-button
180
+          > -->
181
+          <el-button
182
+            size="mini"
183
+            type="text"
184
+            icon="el-icon-s-check"
185
+            @click="courtconfirmationRow(scope.row)"
186
+            v-hasPermi="['monitor:online:forceLogout']"
187
+            >组庭确认</el-button
188
+          >
189
+          <el-button
190
+            size="mini"
191
+            type="text"
192
+            icon="el-icon-check"
193
+            @click="courtreviewRow(scope.row)"
194
+            v-hasPermi="['monitor:online:forceLogout']"
195
+            >组庭审核</el-button
196
+          >
197
+          <el-button
198
+            size="mini"
199
+            type="text"
200
+            icon="el-icon-sort"
201
+            @click="choosetrialmethodRow(scope.row)"
202
+            v-hasPermi="['monitor:online:forceLogout']"
203
+            >选择开庭方式</el-button
204
+          >
205
+          <el-button
206
+            size="mini"
207
+            type="text"
208
+            icon="el-icon-edit-outline"
209
+            @click="adjudicaterecordRow(scope.row)"
210
+            v-hasPermi="['monitor:online:forceLogout']"
211
+            >书面审理</el-button
212
+          >
213
+          <el-button
214
+            size="mini"
215
+            type="text"
216
+            icon="el-icon-service"
217
+            @click="trialcourtRow(scope.row)"
218
+            v-hasPermi="['monitor:online:forceLogout']"
219
+            >开庭审理</el-button
220
+          >
221
+          <el-button
222
+            size="mini"
223
+            type="text"
224
+            icon="el-icon-document"
225
+            @click="generateawardRow(scope.row)"
226
+            v-hasPermi="['monitor:online:forceLogout']"
227
+            >生成裁决书</el-button
228
+          >
229
+          <el-button
230
+            size="mini"
231
+            type="text"
232
+            icon="el-icon-receiving"
233
+            @click="fileRow(scope.row)"
234
+            v-hasPermi="['monitor:online:forceLogout']"
235
+            >归档</el-button
236
+          >
237
+        </template>
238
+      </el-table-column>
239
+    </el-table>
240
+    <pagination
241
+      v-show="total > 0"
242
+      :total="total"
243
+      :page.sync="queryParams.pageNum"
244
+      :limit.sync="queryParams.pageSize"
245
+      @pagination="getcaseApply"
246
+    />
247
+
248
+    <!-- 立案申请弹框 -->
249
+    <caseentryDialog
250
+      :visible="visible"
251
+      @cancel="cancel"
252
+      :form="form"
253
+      :dialogtitle="dialogtitle"
254
+      :getcaseApply="getcaseApply"
255
+      :flag="flag"
256
+      :initpaymentArr="initpaymentArr"
257
+      :initpaymentArr1="initpaymentArr1"
258
+    ></caseentryDialog>
259
+    <!-- 批量申请弹框 openbatch-->
260
+    <batchDialog
261
+      :openbatch="openbatch"
262
+      @cancelBatch="cancelBatch"
263
+      :getcaseApply="getcaseApply"
264
+    ></batchDialog>
265
+    <!-- 组庭页面---改为组庭审核 -->
266
+    <formateCourtDialog
267
+      :showformateCourt="showformateCourt"
268
+      @cancelcourtDialog="cancelcourtDialog"
269
+      :formateCourtData="formateCourtData"
270
+      @getcaseApply="getcaseApply"
271
+    ></formateCourtDialog>
272
+    <!-- 组庭审核--改组庭确认 -->
273
+    <courtReviewDialog
274
+      :showcourtReview="showcourtReview"
275
+      @cancelcourtReview="cancelcourtReview"
276
+    ></courtReviewDialog>
277
+    <!-- 选择开庭方式 -->
278
+    <choosetrialmethodDaiog
279
+      :showchoosetrialmethod="showchoosetrialmethod"
280
+      @cancelshowchoosetrialMethod="cancelshowchoosetrialMethod"
281
+    ></choosetrialmethodDaiog>
282
+    <!-- 书面审理 -->
283
+    <adjudicaterecordDialog
284
+      :showadjudicaterecord="showadjudicaterecord"
285
+      @canceladjudicaterecord="canceladjudicaterecord"
286
+    ></adjudicaterecordDialog>
287
+    <!-- 开庭审理 -->
288
+    <trialincourtDialog
289
+    :showtrialincourt="showtrialincourt"
290
+    @canceltrialincourt="canceltrialincourt"
291
+    ></trialincourtDialog>
292
+  </div>
293
+</template>
294
+
295
+<script>
296
+import caseentryDialog from "./components/caseentryDialog";
297
+import batchDialog from "./components/batchDialog";
298
+import formateCourtDialog from "./components/formateCourtDialog.vue";
299
+import courtReviewDialog from "./components/courtReviewDialog.vue";
300
+import choosetrialmethodDaiog from "./components/choosetrialmethodDaiog.vue";
301
+import adjudicaterecordDialog from "./components/adjudicaterecordDialog.vue";
302
+import trialincourtDialog from './components/trialincourtDialog.vue';
303
+
304
+import {
305
+  caseApply,
306
+  removeCaseApply,
307
+  submitCaseApply,
308
+  selectCaseApply,
309
+} from "@/api/caseAccess/caseEntry";
310
+export default {
311
+  name: "caseList",
312
+  dicts: ["case_status"],
313
+  components: {
314
+    caseentryDialog,
315
+    batchDialog,
316
+    formateCourtDialog,
317
+    courtReviewDialog,
318
+    choosetrialmethodDaiog,
319
+    adjudicaterecordDialog,
320
+    trialincourtDialog
321
+  },
322
+  data() {
323
+    return {
324
+      // 遮罩层
325
+      loading: true,
326
+      // 总条数
327
+      total: 0,
328
+      isapply: "申请人:",
329
+      // 表格数据
330
+      dataList: [],
331
+      // 查询参数
332
+      queryParams: {
333
+        caseNum: undefined,
334
+        hearDate: "",
335
+        caseStatus: null,
336
+        pageNum: 1,
337
+        pageSize: 10,
338
+      },
339
+      dialogtitle: "", //弹框标题
340
+      visible: false, //申请弹框控制
341
+      form: {},
342
+      starttime: "", //开始时间
343
+      endtime: "", //结束时间
344
+      formData: {},
345
+      flag: "-1",
346
+      initpaymentArr: [],
347
+      initpaymentArr1: [],
348
+      openbatch: false, // 批量申请弹框
349
+      formateCourtData: {}, //组庭
350
+      showformateCourt: false, //组庭界面显示
351
+      showcourtReview: false, //组庭审核页面
352
+      showchoosetrialmethod: false, //选择仲裁方式页面
353
+      showadjudicaterecord: false, //书面审理弹框
354
+      showtrialincourt: false, //开庭审理
355
+    };
356
+  },
357
+  created() {
358
+    this.getcaseApply();
359
+  },
360
+  methods: {
361
+    cancel() {
362
+      this.visible = false;
363
+    },
364
+    cancelBatch() {
365
+      this.openbatch = false;
366
+    },
367
+    /** 查询列表 */
368
+    getcaseApply() {
369
+      this.loading = true;
370
+      caseApply(this.queryParams).then((response) => {
371
+        this.dataList = response.rows;
372
+        this.dataList.forEach((item) => {
373
+          item.caseStatus = item.caseStatus == 0 ? "立案申请" : "待缴费";
374
+        });
375
+        this.total = response.total;
376
+        this.loading = false;
377
+      });
378
+    },
379
+    /** 搜索按钮操作 */
380
+    handleQuery() {
381
+      this.queryParams.pageNum = 1;
382
+      this.getcaseApply();
383
+    },
384
+    /** 重置按钮操作 */
385
+    resetQuery() {
386
+      this.resetForm("queryForm");
387
+      this.handleQuery();
388
+    },
389
+    // 案件录入
390
+    filingApplication() {
391
+      this.form = {};
392
+      this.paymentArr = [
393
+        {
394
+          identityType: 1,
395
+          name: "",
396
+          identityNum: "",
397
+          contactTelphone: "",
398
+          workAddress: "",
399
+          workTelphone: "",
400
+          contactAddress: "",
401
+          nameAgent: "",
402
+          contactTelphoneAgent: "",
403
+          contactAddressAgent: "",
404
+        },
405
+      ];
406
+      this.paymentArr1 = [
407
+        {
408
+          identityType: 2,
409
+          name: "",
410
+          identityNum: "",
411
+          contactTelphone: "",
412
+          workAddress: "",
413
+          workTelphone: "",
414
+          contactAddress: "",
415
+          nameAgent: "",
416
+          contactTelphoneAgent: "",
417
+          contactAddressAgent: "",
418
+        },
419
+      ];
420
+
421
+      this.visible = true;
422
+      this.dialogtitle = "立案申请";
423
+      this.flag = "2";
424
+    },
425
+    // 批量批量录入
426
+    batchApplication() {
427
+      this.openbatch = true;
428
+    },
429
+    // 列表提交立案
430
+    onsubmitRow(row) {
431
+      this.$modal
432
+        .confirm("是否提交立案?")
433
+        .then(function () {
434
+          return submitCaseApply({ id: row.id });
435
+        })
436
+        .then(() => {
437
+          this.getcaseApply();
438
+          this.$modal.msgSuccess("立案成功");
439
+        })
440
+        .catch(() => {});
441
+    },
442
+    // 详情
443
+    detailRow(row) {
444
+      this.flag = "0";
445
+      this.form = row;
446
+      this.visible = true;
447
+      this.dialogtitle = "立案详情";
448
+      this.getInfo(row);
449
+    },
450
+    // 修改
451
+    editRow(row) {
452
+      this.flag = "1";
453
+      this.form = row;
454
+      this.visible = true;
455
+      this.dialogtitle = "立案修改";
456
+      this.getInfo(row);
457
+    },
458
+    // 立案审查
459
+    filingreviewRow(row) {
460
+      console.log(row, "立案审查");
461
+      this.$modal
462
+        .confirm("确定提交案件数据吗?")
463
+        .then(function () {
464
+          return submitCaseApply({ id: row.id });
465
+        })
466
+        .then(() => {
467
+          this.getcaseApply();
468
+          this.$modal.msgSuccess("立案成功");
469
+        })
470
+        .catch(() => {});
471
+    },
472
+    // 查看缴费
473
+    viewpaymentRow(row) {
474
+      console.log(row, "查看缴费");
475
+    },
476
+    // 组庭
477
+    // formationcourtRow(row) {
478
+    //   console.log(row, "组庭");
479
+    //   this.formateCourtData = row;
480
+    //   this.showformateCourt = true;
481
+    // },
482
+    // 关闭组庭页面
483
+    cancelcourtDialog() {
484
+      this.showformateCourt = false;
485
+    },
486
+    // 组庭确认
487
+    courtconfirmationRow(row) {
488
+      console.log(row, "组庭确认");
489
+      this.showcourtReview = true;
490
+    //   this.$modal
491
+    //     .confirm("确定进行组庭吗?")
492
+    //     .then(function () {})
493
+    //     .then(() => {
494
+    //       this.$modal.msgSuccess("组庭成功");
495
+    //     })
496
+    //     .catch((err) => {});
497
+    },
498
+    // 组庭审核
499
+    courtreviewRow(row) {
500
+      console.log(row, "组庭审核");
501
+      this.formateCourtData = row;
502
+      this.showformateCourt = true;
503
+    },
504
+    cancelcourtReview() {
505
+      this.showcourtReview = false;
506
+    },
507
+    // 选择开庭方式
508
+    choosetrialmethodRow(row) {
509
+      console.log(row, "选择开庭方式");
510
+      this.showchoosetrialmethod = true;
511
+    },
512
+    // 关闭选择开庭方式
513
+    cancelshowchoosetrialMethod() {
514
+      this.showchoosetrialmethod = false;
515
+    },
516
+    // 书面审理
517
+    adjudicaterecordRow(row) {
518
+      console.log(row, "书面审理");
519
+      this.showadjudicaterecord = true;
520
+    },
521
+    canceladjudicaterecord() {
522
+      this.showadjudicaterecord = false;
523
+    },
524
+    //  开庭审理
525
+    trialcourtRow(row) {
526
+      console.log(row, "开庭审理");
527
+      this.showtrialincourt = true;
528
+    },
529
+    canceltrialincourt() {
530
+        this.showtrialincourt = false;
531
+    },
532
+    //  生成裁决书
533
+    generateawardRow(row) {
534
+      console.log(row, "生成裁决书");
535
+    },
536
+    // 归档
537
+    fileRow(row) {
538
+      console.log(row, "归档");
539
+    },
540
+    // 查找主体信息数据
541
+    getInfo(row) {
542
+      const id = row.id;
543
+      selectCaseApply({ id }).then((res) => {
544
+        this.visible = true;
545
+        this.formData = res.data;
546
+        this.initpaymentArr = [];
547
+        this.initpaymentArr1 = [];
548
+        res.data.caseAffiliates.forEach((item) => {
549
+          if (item.identityType == 1) {
550
+            this.initpaymentArr.push(item);
551
+          } else {
552
+            this.initpaymentArr1.push(item);
553
+          }
554
+        });
555
+      });
556
+    },
557
+    // 删除
558
+    deleteRow(row) {
559
+      // const id = row.id;
560
+      this.$modal
561
+        .confirm("是否确认删除?")
562
+        .then(function () {
563
+          return removeCaseApply({ id: row.id });
564
+        })
565
+        .then((res) => {
566
+          this.getcaseApply();
567
+          this.$modal.msgSuccess("删除成功");
568
+        })
569
+        .catch(() => {});
570
+    },
571
+  },
572
+};
573
+</script>
574
+
575
+<style lang="scss" scoped>
576
+#formContainer {
577
+}
578
+</style>

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

@@ -0,0 +1,37 @@
1
+<template>
2
+  <div>
3
+    <el-dialog
4
+      title="书面审理"
5
+      :visible="showadjudicaterecord"
6
+      width="500px"
7
+      @close="cancel"
8
+      :destroy-on-close="true"
9
+    >
10
+      书面审理弹框
11
+      <div slot="footer" class="dialog-footer">
12
+        <el-button type="primary" @click="submitForm">提 交</el-button>
13
+        <el-button @click="cancel">取 消</el-button>
14
+      </div>
15
+    </el-dialog>
16
+  </div>
17
+</template>
18
+
19
+<script>
20
+export default {
21
+  props: ["showadjudicaterecord"],
22
+  data() {
23
+    return {
24
+      // key: value
25
+    };
26
+  },
27
+  methods: {
28
+    submitForm() {},
29
+    cancel() {
30
+      this.$emit("canceladjudicaterecord");
31
+    },
32
+  },
33
+};
34
+</script>
35
+
36
+<style lang="scss" scoped>
37
+</style>

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

@@ -0,0 +1,159 @@
1
+<template>
2
+  <div>
3
+    <!-- 立案申请弹框 -->
4
+    <el-dialog
5
+      title="批量立案"
6
+      :visible="openbatch"
7
+      width="600px"
8
+      append-to-body
9
+      @close="cancel"
10
+    >
11
+      <el-form ref="form" :model="form" :rules="rules" label-width="150px">
12
+        <el-row>
13
+          <!-- <el-col :span="16">
14
+            <el-form-item label="申请人姓名:" prop="applyName">
15
+              <el-input v-model="form.jobName" placeholder="请输入姓名" />
16
+            </el-form-item>
17
+          </el-col>-->
18
+          <el-col :span="8">
19
+            <div class="download" style="margin-bottom: 20px">
20
+              <span> 下载: </span>
21
+              <a href="#">
22
+                <el-button class="uploadlink" @click="downloadTemplate">批量导入模板</el-button>
23
+              </a>
24
+            </div>
25
+          </el-col>
26
+          <!-- <el-col :span="12">
27
+            <el-form-item label="立案申请书:" prop="applybook"> </el-form-item>
28
+          </el-col>
29
+          <el-col :span="12"> </el-col> -->
30
+        </el-row>
31
+        <el-row>
32
+          <el-form-item :span="24" label="批量立案信息上传:" prop="upload">
33
+            <el-upload
34
+              class="upload-demo"
35
+              ref="uploadbatch"
36
+              :limit="1"
37
+              accept=".xlsx, .xls"
38
+              :headers="upload.headers"
39
+              :action="upload.url + '?updateSupport=' + upload.updateSupport"
40
+              :disabled="upload.isUploading"
41
+              :on-progress="handleFileUploadProgress"
42
+              :on-success="handleFileSuccess"
43
+              :auto-upload="false"
44
+              drag
45
+            >
46
+            <i class="el-icon-upload"></i>
47
+            <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
48
+              <!-- <el-button size="small" type="primary">点击上传</el-button> -->
49
+              <div slot="tip" class="el-upload__tip">
50
+                只接收.xlsx, .xls格式文件
51
+              </div>
52
+            </el-upload>
53
+          </el-form-item>
54
+        </el-row>
55
+      </el-form>
56
+      <div slot="footer" class="dialog-footer">
57
+        <el-button type="primary" @click="submitForm">确 定</el-button>
58
+        <el-button @click="cancel">取 消</el-button>
59
+      </div>
60
+    </el-dialog>
61
+  </div>
62
+</template>
63
+
64
+<script>
65
+import { importTemplate } from "@/api/caseAccess/caseEntry";
66
+import { getToken } from "@/utils/auth";
67
+export default {
68
+  props: ["openbatch","getcaseApply"],
69
+  data() {
70
+    return {
71
+      //   key: value,
72
+      form: {},
73
+      fileList: [],
74
+      rules: {
75
+        upload: [
76
+          { required: true, message: "批量立案文件不能为空", trigger: "blur" },
77
+        ],
78
+      },
79
+      // 案件批量导入
80
+      upload: {
81
+        // 是否显示弹出层(用户导入)
82
+        open: false,
83
+        // 弹出层标题(用户导入)
84
+        title: "",
85
+        // 是否禁用上传
86
+        isUploading: false,
87
+        // 是否更新已经存在的用户数据
88
+        updateSupport: 0,
89
+        // 设置上传的请求头部
90
+        headers: { Authorization: "Bearer " + getToken() },
91
+        // 上传的地址
92
+        url: process.env.VUE_APP_BASE_API + "/caseApplication/importData",
93
+      },
94
+    };
95
+  },
96
+  methods: {
97
+    // 批量提交立案申请
98
+    submitForm() {
99
+        this.$refs.uploadbatch.submit();
100
+    },
101
+    // 取消
102
+    cancel() {
103
+      //   this.openbatch = false;
104
+      this.$emit("cancelBatch");
105
+    },
106
+    handleRemove(file, fileList) {},
107
+    handlePreview(file) {},
108
+    handleExceed(files, fileList) {
109
+      this.$message.warning(
110
+        `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
111
+          files.length + fileList.length
112
+        } 个文件`
113
+      );
114
+    },
115
+    beforeRemove(file, fileList) {
116
+      return this.$confirm(`确定移除 ${file.name}?`);
117
+    },
118
+    // 下载模板 importTemplate
119
+    downloadTemplate() {
120
+    //   console.log("下载模板");
121
+      this.download(
122
+        "caseApplication/importTemplate",
123
+        {},
124
+        `case_batch_${new Date().getTime()}.xlsx`
125
+      );
126
+    },
127
+    // 文件上传中处理
128
+    handleFileUploadProgress(event, file, fileList) {
129
+      this.upload.isUploading = true;
130
+    },
131
+    // 文件上传成功处理
132
+    handleFileSuccess(response, file, fileList) {
133
+    //   this.upload.open = false;
134
+      this.$emit("cancelBatch");
135
+      this.upload.isUploading = false;
136
+      this.$refs.uploadbatch.clearFiles();
137
+      this.$alert(
138
+        "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
139
+          response.msg +
140
+          "</div>",
141
+        "导入结果",
142
+        { dangerouslyUseHTMLString: true }
143
+      );
144
+      this.getcaseApply();
145
+    },
146
+  },
147
+};
148
+</script>
149
+
150
+<style lang="scss" scoped>
151
+.download {
152
+  a {
153
+    .uploadlink{
154
+        border: none;
155
+        color: #2092c7;
156
+    }
157
+  }
158
+}
159
+</style>

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

@@ -0,0 +1,788 @@
1
+<template>
2
+  <div>
3
+    <el-dialog
4
+      :title="dialogtitle"
5
+      :visible="visible"
6
+      @close="cancel"
7
+      width="1000px"
8
+      append-to-body
9
+      :destroy-on-close= true
10
+    >
11
+      <!-- 案件信息 -->
12
+      <el-form
13
+        ref="form"
14
+        :model="formData"
15
+        :rules="rules"
16
+        label-width="150px"
17
+        :disabled="flag == '0'"
18
+      >
19
+        <p>案件信息:</p>
20
+        <el-divider></el-divider>
21
+        <el-row>
22
+          <el-col :span="12">
23
+            <el-form-item label="案件编号:" prop="caseNum">
24
+              <el-input
25
+                v-model="formData.caseNum"
26
+                placeholder="请输入案件编号"
27
+              />
28
+            </el-form-item>
29
+          </el-col>
30
+          <el-col :span="12">
31
+            <el-form-item label="案件标的:" prop="caseSubjectAmount">
32
+              <el-input
33
+                v-model="formData.caseSubjectAmount"
34
+                placeholder="请输入案件标的"
35
+              />
36
+            </el-form-item>
37
+          </el-col>
38
+          <el-col :span="12">
39
+            <el-form-item label="借款开始日期:" prop="loanStartDate">
40
+              <el-date-picker
41
+                v-model="formData.loanStartDate"
42
+                type="datetime"
43
+                placeholder="借款开始日期"
44
+              >
45
+              </el-date-picker>
46
+            </el-form-item>
47
+          </el-col>
48
+          <el-col :span="12">
49
+            <el-form-item label="借款结束日期:" prop="loanEndDate">
50
+              <el-date-picker
51
+                v-model="formData.loanEndDate"
52
+                type="datetime"
53
+                placeholder="借款结束日期"
54
+              >
55
+              </el-date-picker>
56
+            </el-form-item>
57
+          </el-col>
58
+          <el-col :span="12">
59
+            <el-form-item label="合同编号:" prop="contractNumber">
60
+              <el-input
61
+                v-model="formData.contractNumber"
62
+                placeholder="请输入"
63
+              />
64
+            </el-form-item>
65
+          </el-col>
66
+          <el-col :span="12">
67
+            <el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
68
+              <el-input
69
+                v-model="formData.claimPrinciOwed"
70
+                placeholder="请输入"
71
+              />
72
+            </el-form-item>
73
+          </el-col>
74
+          <el-col :span="12">
75
+            <el-form-item label="申请人主张欠利息:" prop="claimInterestOwed">
76
+              <el-input
77
+                v-model="formData.claimInterestOwed"
78
+                placeholder="请输入"
79
+              />
80
+            </el-form-item>
81
+          </el-col>
82
+          <el-col :span="12">
83
+            <el-form-item label="申请人主张违约金:" prop="claimLiquidDamag">
84
+              <el-input
85
+                v-model="formData.claimLiquidDamag"
86
+                placeholder="请输入"
87
+              />
88
+            </el-form-item>
89
+          </el-col>
90
+          <el-col :span="12">
91
+            <el-form-item
92
+              label="申请人案件证据资料上传:"
93
+              prop="applicantEvidence"
94
+            >
95
+              <el-upload
96
+                class="upload-demo"
97
+                action="https://jsonplaceholder.typicode.com/posts/"
98
+                :on-preview="handlePreview"
99
+                :on-remove="handleRemove"
100
+                :before-remove="beforeRemove"
101
+                multiple
102
+                :limit="3"
103
+                :on-exceed="handleExceed"
104
+                :file-list="fileList"
105
+              >
106
+                <el-button size="small" type="primary">点击上传</el-button>
107
+                <div slot="tip" class="el-upload__tip">
108
+                  只能上传jpg/png文件,且不超过500kb
109
+                </div>
110
+              </el-upload>
111
+            </el-form-item>
112
+          </el-col>
113
+          <!-- 仅详情展示 -->
114
+          <el-col :span="12">
115
+            <el-form-item
116
+              label="被申请人案件证据资料上传:"
117
+              prop="respondentEvidence"
118
+            >
119
+              <el-upload
120
+                class="upload-demo"
121
+                action="https://jsonplaceholder.typicode.com/posts/"
122
+                :on-preview="handlePreview"
123
+                :on-remove="handleRemove"
124
+                :before-remove="beforeRemove"
125
+                multiple
126
+                :limit="3"
127
+                :on-exceed="handleExceed"
128
+                :file-list="fileList"
129
+              >
130
+                <el-button size="small" type="primary">点击上传</el-button>
131
+                <div slot="tip" class="el-upload__tip">
132
+                  只能上传jpg/png文件,且不超过500kb
133
+                </div>
134
+              </el-upload>
135
+            </el-form-item>
136
+          </el-col>
137
+        </el-row>
138
+      </el-form>
139
+      <!-- 申请人主体信息 -->
140
+      <el-form
141
+        ref="form2"
142
+        :model="form2"
143
+        label-width="150px"
144
+        :disabled="flag == '0'"
145
+      >
146
+        <div v-for="(item, index) in form2.paymentArr" :key="index">
147
+          <div style="display: flex; justify-content: space-between">
148
+            <p>申请人主体信息:</p>
149
+            <el-button
150
+              type="danger"
151
+              icon="el-icon-delete"
152
+              @click="deleteData(index)"
153
+              v-if="form2.paymentArr.length > 1 && flag != '0'"
154
+            ></el-button>
155
+          </div>
156
+          <el-divider></el-divider>
157
+          <el-row>
158
+            <el-col :span="12">
159
+              <el-form-item
160
+                label="申请人姓名"
161
+                :prop="'paymentArr.' + index + '.name'"
162
+                :rules="[
163
+                  {
164
+                    required: true,
165
+                    message: '申请人不能为空',
166
+                    trigger: 'blur',
167
+                  },
168
+                ]"
169
+              >
170
+                <el-input v-model="item.name" placeholder="请输入" />
171
+              </el-form-item>
172
+            </el-col>
173
+            <el-col :span="12">
174
+              <el-form-item
175
+                label="身份证号:"
176
+                :prop="'paymentArr.' + index + '.identityNum'"
177
+                :rules="[
178
+                  {
179
+                    required: true,
180
+                    message: '身份证号不能为空',
181
+                    trigger: 'blur',
182
+                  },
183
+                ]"
184
+              >
185
+                <el-input v-model="item.identityNum" placeholder="请输入" />
186
+              </el-form-item>
187
+            </el-col>
188
+            <el-col :span="12">
189
+              <el-form-item
190
+                label="联系电话:"
191
+                :prop="'paymentArr.' + index + '.contactTelphone'"
192
+                :rules="[
193
+                  {
194
+                    required: true,
195
+                    message: '联系电话不能为空',
196
+                    trigger: 'blur',
197
+                  },
198
+                ]"
199
+              >
200
+                <el-input v-model="item.contactTelphone" placeholder="请输入" />
201
+              </el-form-item>
202
+            </el-col>
203
+            <el-col :span="12">
204
+              <el-form-item
205
+                label="单位地址:"
206
+                :prop="'paymentArr.' + index + '.workAddress'"
207
+                :rules="[
208
+                  {
209
+                    required: true,
210
+                    message: '单位地址不能为空',
211
+                    trigger: 'blur',
212
+                  },
213
+                ]"
214
+              >
215
+                <el-input v-model="item.workAddress" placeholder="请输入" />
216
+              </el-form-item>
217
+            </el-col>
218
+            <el-col :span="12">
219
+              <el-form-item
220
+                label="单位电话:"
221
+                :prop="'paymentArr.' + index + '.workTelphone'"
222
+                :rules="[
223
+                  {
224
+                    required: true,
225
+                    message: '单位电话不能为空',
226
+                    trigger: 'blur',
227
+                  },
228
+                ]"
229
+              >
230
+                <el-input v-model="item.workTelphone" placeholder="请输入" />
231
+              </el-form-item>
232
+            </el-col>
233
+            <el-col :span="12">
234
+              <el-form-item
235
+                label="联系地址:"
236
+                :prop="'paymentArr.' + index + '.contactAddress'"
237
+                :rules="[
238
+                  {
239
+                    required: true,
240
+                    message: '联系地址不能为空',
241
+                    trigger: 'blur',
242
+                  },
243
+                ]"
244
+              >
245
+                <el-input v-model="item.contactAddress" placeholder="请输入" />
246
+              </el-form-item>
247
+            </el-col>
248
+          </el-row>
249
+          <p>代理人信息:</p>
250
+          <el-row>
251
+            <el-col :span="12">
252
+              <el-form-item
253
+                label="姓名:"
254
+                :prop="'paymentArr.' + index + '.nameAgent'"
255
+                :rules="[
256
+                  {
257
+                    required: true,
258
+                    message: '姓名不能为空',
259
+                    trigger: 'blur',
260
+                  },
261
+                ]"
262
+              >
263
+                <el-input v-model="item.nameAgent" placeholder="请输入" />
264
+              </el-form-item>
265
+            </el-col>
266
+            <el-col :span="12">
267
+              <el-form-item
268
+                label="身份证号:"
269
+                :prop="'paymentArr.' + index + '.identityNumAgent'"
270
+                :rules="[
271
+                  {
272
+                    required: true,
273
+                    message: '身份证号不能为空',
274
+                    trigger: 'blur',
275
+                  },
276
+                ]"
277
+              >
278
+                <el-input
279
+                  v-model="item.identityNumAgent"
280
+                  placeholder="请输入"
281
+                />
282
+              </el-form-item>
283
+            </el-col>
284
+            <el-col :span="12">
285
+              <el-form-item
286
+                label="联系电话:"
287
+                :prop="'paymentArr.' + index + '.contactTelphoneAgent'"
288
+                :rules="[
289
+                  {
290
+                    required: true,
291
+                    message: '联系电话不能为空',
292
+                    trigger: 'blur',
293
+                  },
294
+                ]"
295
+              >
296
+                <el-input
297
+                  v-model="item.contactTelphoneAgent"
298
+                  placeholder="请输入"
299
+                />
300
+              </el-form-item>
301
+            </el-col>
302
+            <el-col :span="12">
303
+              <el-form-item
304
+                label="联系地址:"
305
+                :prop="'paymentArr.' + index + '.contactAddressAgent'"
306
+                :rules="[
307
+                  {
308
+                    required: true,
309
+                    message: '联系地址不能为空',
310
+                    trigger: 'blur',
311
+                  },
312
+                ]"
313
+              >
314
+                <el-input
315
+                  v-model="item.contactAddressAgent"
316
+                  placeholder="请输入"
317
+                />
318
+              </el-form-item>
319
+            </el-col>
320
+          </el-row>
321
+        </div>
322
+      </el-form>
323
+      <el-button
324
+        v-if="flag == 1 || flag == 2"
325
+        type="primary"
326
+        plain
327
+        @click="generateForm"
328
+        >新增申请人主体信息</el-button
329
+      >
330
+      <!-- 被申请人主体信息 -->
331
+      <el-form
332
+        ref="form3"
333
+        label-width="150px"
334
+        :disabled="flag == '0'"
335
+        :model="form3"
336
+      >
337
+        <div
338
+          v-for="(itm, index) in form3.paymentArr1"
339
+          :key="index + form2.paymentArr.length"
340
+        >
341
+          <div style="display: flex; justify-content: space-between">
342
+            <p>被申请人主体信息:</p>
343
+            <el-button
344
+              type="danger"
345
+              icon="el-icon-delete"
346
+              @click="deleteData1(index)"
347
+              v-if="form3.paymentArr1.length > 1 && flag != '0'"
348
+            ></el-button>
349
+          </div>
350
+          <el-divider></el-divider>
351
+          <el-row>
352
+            <el-col :span="12">
353
+              <el-form-item
354
+                label="被申请人姓名"
355
+                :prop="'paymentArr1.' + index + '.name'"
356
+                :rules="[
357
+                  {
358
+                    required: true,
359
+                    message: '被申请人不能为空',
360
+                    trigger: 'blur',
361
+                  },
362
+                ]"
363
+              >
364
+                <el-input v-model="itm.name" placeholder="请输入" />
365
+              </el-form-item>
366
+            </el-col>
367
+            <el-col :span="12">
368
+              <el-form-item
369
+                label="身份证号:"
370
+                :prop="'paymentArr1.' + index + '.identityNum'"
371
+                :rules="[
372
+                  {
373
+                    required: true,
374
+                    message: '身份证号不能为空',
375
+                    trigger: 'blur',
376
+                  },
377
+                ]"
378
+              >
379
+                <el-input v-model="itm.identityNum" placeholder="请输入" />
380
+              </el-form-item>
381
+            </el-col>
382
+            <el-col :span="12">
383
+              <el-form-item
384
+                label="联系电话:"
385
+                :prop="'paymentArr1.' + index + '.contactTelphone'"
386
+                :rules="[
387
+                  {
388
+                    required: true,
389
+                    message: '联系电话不能为空',
390
+                    trigger: 'blur',
391
+                  },
392
+                ]"
393
+              >
394
+                <el-input v-model="itm.contactTelphone" placeholder="请输入" />
395
+              </el-form-item>
396
+            </el-col>
397
+            <el-col :span="12">
398
+              <el-form-item
399
+                label="单位地址:"
400
+                :prop="'paymentArr1.' + index + '.workAddress'"
401
+                :rules="[
402
+                  {
403
+                    required: true,
404
+                    message: '单位地址不能为空',
405
+                    trigger: 'blur',
406
+                  },
407
+                ]"
408
+              >
409
+                <el-input v-model="itm.workAddress" placeholder="请输入" />
410
+              </el-form-item>
411
+            </el-col>
412
+            <el-col :span="12">
413
+              <el-form-item
414
+                label="单位电话:"
415
+                :prop="'paymentArr1.' + index + '.workTelphone'"
416
+                :rules="[
417
+                  {
418
+                    required: true,
419
+                    message: '单位电话不能为空',
420
+                    trigger: 'blur',
421
+                  },
422
+                ]"
423
+              >
424
+                <el-input v-model="itm.workTelphone" placeholder="请输入" />
425
+              </el-form-item>
426
+            </el-col>
427
+            <el-col :span="12">
428
+              <el-form-item
429
+                label="联系地址:"
430
+                :prop="'paymentArr1.' + index + '.contactAddress'"
431
+                :rules="[
432
+                  {
433
+                    required: true,
434
+                    message: '联系地址不能为空',
435
+                    trigger: 'blur',
436
+                  },
437
+                ]"
438
+              >
439
+                <el-input v-model="itm.contactAddress" placeholder="请输入" />
440
+              </el-form-item>
441
+            </el-col>
442
+          </el-row>
443
+          <p>代理人信息:</p>
444
+          <el-row>
445
+            <el-col :span="12">
446
+              <el-form-item
447
+                label="姓名:"
448
+                :prop="'paymentArr1.' + index + '.nameAgent'"
449
+                :rules="[
450
+                  {
451
+                    required: true,
452
+                    message: '姓名不能为空',
453
+                    trigger: 'blur',
454
+                  },
455
+                ]"
456
+              >
457
+                <el-input v-model="itm.nameAgent" placeholder="请输入" />
458
+              </el-form-item>
459
+            </el-col>
460
+            <el-col :span="12">
461
+              <el-form-item
462
+                label="身份证号:"
463
+                :prop="'paymentArr1.' + index + '.identityNumAgent'"
464
+                :rules="[
465
+                  {
466
+                    required: true,
467
+                    message: '身份证号不能为空',
468
+                    trigger: 'blur',
469
+                  },
470
+                ]"
471
+              >
472
+                <el-input v-model="itm.identityNumAgent" placeholder="请输入" />
473
+              </el-form-item>
474
+            </el-col>
475
+            <el-col :span="12">
476
+              <el-form-item
477
+                label="联系电话:"
478
+                :prop="'paymentArr1.' + index + '.contactTelphoneAgent'"
479
+                :rules="[
480
+                  {
481
+                    required: true,
482
+                    message: '联系电话不能为空',
483
+                    trigger: 'blur',
484
+                  },
485
+                ]"
486
+              >
487
+                <el-input
488
+                  v-model="itm.contactTelphoneAgent"
489
+                  placeholder="请输入"
490
+                />
491
+              </el-form-item>
492
+            </el-col>
493
+            <el-col :span="12">
494
+              <el-form-item
495
+                label="联系地址:"
496
+                :prop="'paymentArr1.' + index + '.contactAddressAgent'"
497
+                :rules="[
498
+                  {
499
+                    required: true,
500
+                    message: '联系地址不能为空',
501
+                    trigger: 'blur',
502
+                  },
503
+                ]"
504
+              >
505
+                <el-input
506
+                  v-model="itm.contactAddressAgent"
507
+                  placeholder="请输入"
508
+                />
509
+              </el-form-item>
510
+            </el-col>
511
+          </el-row>
512
+        </div>
513
+      </el-form>
514
+      <el-button
515
+        v-if="flag == 1 || flag == 2"
516
+        type="primary"
517
+        plain
518
+        @click="generateForm1()"
519
+        >新增被申请人主体信息</el-button
520
+      >
521
+      <div slot="footer" class="dialog-footer">
522
+        <el-button type="primary" @click="submitForm" v-if="flag != 0"
523
+          >确 定</el-button
524
+        >
525
+        <el-button @click="cancel">取 消</el-button>
526
+      </div>
527
+    </el-dialog>
528
+  </div>
529
+</template>
530
+
531
+<script>
532
+import moment from "moment"; //导入文件
533
+import { addCaseApply, editCaseApply } from "@/api/caseAccess/caseEntry";
534
+export default {
535
+  props: [
536
+    "visible",
537
+    "dialogtitle",
538
+    "form",
539
+    "getcaseApply",
540
+    "flag",
541
+    "initpaymentArr",
542
+    "initpaymentArr1",
543
+  ],
544
+  data() {
545
+    return {
546
+      formData: this.form,
547
+      form2: {
548
+        paymentArr: [
549
+          {
550
+            identityType: 1,
551
+            name: "",
552
+            identityNum: "",
553
+            contactTelphone: "",
554
+            workAddress: "",
555
+            workTelphone: "",
556
+            contactAddress: "",
557
+            nameAgent: "",
558
+            contactTelphoneAgent: "",
559
+            contactAddressAgent: "",
560
+          },
561
+        ],
562
+      }, //申请人主体信息
563
+      form3: {
564
+        paymentArr1: [
565
+          {
566
+            identityType: 2,
567
+            name: "",
568
+            identityNum: "",
569
+            contactTelphone: "",
570
+            workAddress: "",
571
+            workTelphone: "",
572
+            contactAddress: "",
573
+            nameAgent: "",
574
+            contactTelphoneAgent: "",
575
+            contactAddressAgent: "",
576
+          },
577
+        ],
578
+      }, //被申请人主体信息
579
+      // 表单校验
580
+      rules: {
581
+        caseNum: [
582
+          {
583
+            required: true,
584
+            message: "案件编号不能为空",
585
+            trigger: ["change", "blur"],
586
+          },
587
+          { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" },
588
+        ],
589
+        caseSubjectAmount: [
590
+          {
591
+            required: true,
592
+            message: "案件标的不能为空",
593
+            trigger: ["change", "blur"],
594
+          },
595
+          // { type: "Number", message: "案件标的必须为数字值" },
596
+        ],
597
+        loanStartDate: [
598
+          {
599
+            required: true,
600
+            message: "借款开始日期不能为空",
601
+            trigger: "blur",
602
+          },
603
+        ],
604
+        loanEndDate: [
605
+          {
606
+            required: true,
607
+            message: "借款结束日期不能为空",
608
+            trigger: "blur",
609
+          },
610
+        ],
611
+        name: [
612
+          {
613
+            required: true,
614
+            message: "申请人姓名不能为空",
615
+            trigger: "blur",
616
+          },
617
+        ],
618
+        contractNumber: [
619
+          {
620
+            required: true,
621
+            message: "合同编号不能为空",
622
+            trigger: "blur",
623
+          },
624
+        ],
625
+        claimPrinciOwed: [
626
+          {
627
+            required: true,
628
+            message: "申请人主张欠本金不能为空",
629
+            trigger: "blur",
630
+          },
631
+          // { type: 'number', message: '申请人主张欠本金必须为数字值'}
632
+        ],
633
+        claimInterestOwed: [
634
+          {
635
+            required: true,
636
+            message: "申请人主张欠利息不能为空",
637
+            trigger: "blur",
638
+          },
639
+          // { type: 'number', message: '申请人主张欠利息必须为数字值'}
640
+        ],
641
+        Overduedays: [
642
+          {
643
+            required: true,
644
+            message: "逾期天数不能为空",
645
+            trigger: "blur",
646
+          },
647
+          // { type: 'number', message: '逾期天数必须为数字值'}
648
+        ],
649
+        claimLiquidDamag: [
650
+          {
651
+            required: true,
652
+            message: "申请人主张违约金不能为空",
653
+            trigger: "blur",
654
+          },
655
+          // { type: 'number', message: '申请人主张违约金必须为数字值'}
656
+        ],
657
+      },
658
+      fileList: [],
659
+    };
660
+  },
661
+  watch: {
662
+    visible: {
663
+      handler(val) {
664
+        if (val) {
665
+          this.formData = this.form;
666
+          if (this.flag == "1" || this.flag == "0") {
667
+            setTimeout(() => {
668
+              this.form2.paymentArr = this.initpaymentArr;
669
+              this.form3.paymentArr1 = this.initpaymentArr1;
670
+            }, 1000);
671
+          }
672
+        }
673
+      },
674
+      deep: true,
675
+    },
676
+  },
677
+  methods: {
678
+    handleRemove(file, fileList) {},
679
+    handlePreview(file) {},
680
+    handleExceed(files, fileList) {
681
+      this.$message.warning(
682
+        `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
683
+          files.length + fileList.length
684
+        } 个文件`
685
+      );
686
+    },
687
+    beforeRemove(file, fileList) {
688
+      return this.$confirm(`确定移除 ${file.name}?`);
689
+    },
690
+    // 取消
691
+    cancel() {
692
+      this.$emit("cancel");
693
+    },
694
+
695
+    // 新增申请人主体信息
696
+    generateForm() {
697
+      this.form2.paymentArr.push({
698
+        identityType: 1,
699
+        name: "",
700
+        identityNum: "",
701
+        contactTelphone: "",
702
+        workAddress: "",
703
+        workTelphone: "",
704
+        contactAddress: "",
705
+        nameAgent: "",
706
+        contactTelphoneAgent: "",
707
+        contactAddressAgent: "",
708
+      });
709
+    },
710
+    // 新增被申请人主体信息
711
+    generateForm1() {
712
+      this.form3.paymentArr1.push({
713
+        identityType: 2,
714
+        name: "",
715
+        identityNum: "",
716
+        contactTelphone: "",
717
+        workAddress: "",
718
+        workTelphone: "",
719
+        contactAddress: "",
720
+        nameAgent: "",
721
+        contactTelphoneAgent: "",
722
+        contactAddressAgent: "",
723
+      });
724
+    },
725
+    // 删除申请人主体信息
726
+    deleteData(index) {
727
+      this.form2.paymentArr.splice(index, 1);
728
+    },
729
+    // 删除被申请人主体信息
730
+    deleteData1(index) {
731
+      this.form3.paymentArr1.splice(index, 1);
732
+    },
733
+    // 提交立案申请 addCaseApply
734
+    submitForm() {
735
+      this.$refs["form"].validate((valid) => {
736
+        this.formData.loanStartDate = moment(
737
+          this.formData.loanStartDate
738
+        ).format("YYYY-MM-DD HH:mm:ss");
739
+        this.formData.loanEndDate = moment(this.formData.loanEndDate).format(
740
+          "YYYY-MM-DD HH:mm:ss"
741
+        );
742
+        if (valid) {
743
+          this.$refs["form2"].validate((valid) => {
744
+            if (valid) {
745
+              this.$refs["form3"].validate((vail) => {
746
+                if (vail) {
747
+                  this.formData.caseAffiliates = [
748
+                    ...this.form2.paymentArr,
749
+                    ...this.form3.paymentArr1,
750
+                  ];
751
+                  if (this.formData.id) {
752
+                    editCaseApply({
753
+                      ...this.formData,
754
+                      caseAffiliates: this.formData.caseAffiliates,
755
+                    }).then((res) => {
756
+                      this.$modal.msgSuccess("修改成功");
757
+                      this.$emit("cancel");
758
+                      this.getcaseApply();
759
+                    });
760
+                  } else {
761
+                    addCaseApply({
762
+                      ...this.formData,
763
+                      caseAffiliates: this.formData.caseAffiliates,
764
+                    }).then((response) => {
765
+                      this.$modal.msgSuccess("新增成功");
766
+                      this.$emit("cancel");
767
+                      this.getcaseApply();
768
+                    });
769
+                  }
770
+                  // this.$emit("cancel");
771
+                  // this.getcaseApply();
772
+                }
773
+              });
774
+            }
775
+          });
776
+        }
777
+      });
778
+    },
779
+  },
780
+};
781
+</script>
782
+
783
+<style lang="scss" scoped>
784
+::v-deep .el-dialog__body {
785
+  height: 700px !important;
786
+  overflow: auto !important;
787
+}
788
+</style>

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

@@ -0,0 +1,50 @@
1
+<template>
2
+  <div>
3
+    <!-- 选择仲裁方式页面 -->
4
+    <el-dialog
5
+      title="开庭方式"
6
+      :visible="showchoosetrialmethod"
7
+      width="500px"
8
+      @close="cancel"
9
+      :destroy-on-close="true"
10
+    >
11
+      <div class="radiobox">
12
+        <el-radio-group v-model="radio">
13
+          <el-radio :label="1">书面审理</el-radio>
14
+          <el-radio :label="2">开庭审理</el-radio>
15
+        </el-radio-group>
16
+      </div>
17
+
18
+      <div slot="footer" class="dialog-footer">
19
+        <el-button type="primary" @click="submitForm">提 交</el-button>
20
+        <el-button @click="cancel">取 消</el-button>
21
+      </div>
22
+    </el-dialog>
23
+  </div>
24
+</template>
25
+
26
+<script>
27
+export default {
28
+  name: "showchoosetrialmethodDialog",
29
+  props: ["showchoosetrialmethod"],
30
+  data() {
31
+    return {
32
+      // key: value
33
+      radio: 1,
34
+    };
35
+  },
36
+  methods: {
37
+    // 提交开庭方式
38
+    submitForm() {},
39
+    cancel() {
40
+      this.$emit("cancelshowchoosetrialMethod");
41
+    },
42
+  },
43
+};
44
+</script>
45
+
46
+<style lang="scss" scoped>
47
+.radiobox{
48
+    margin-left: 5%;
49
+}
50
+</style>

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

@@ -0,0 +1,51 @@
1
+<template>
2
+  <div>
3
+    <!-- 组庭审核页面 -->
4
+    <el-dialog
5
+      title="组庭确认"
6
+      :visible="showcourtReview"
7
+      width="500px"
8
+      @close="cancel"
9
+      :destroy-on-close="true"
10
+    >
11
+      <el-form ref="ktrq">
12
+        <el-form-item label="开庭日期:">
13
+          <div class="reviewbox">
14
+            <el-date-picker v-model="value1" type="date" placeholder="选择日期">
15
+            </el-date-picker>
16
+          </div>
17
+        </el-form-item>
18
+      </el-form>
19
+      <div slot="footer" class="dialog-footer">
20
+        <el-button type="primary" @click="submitForm">确 定</el-button>
21
+        <el-button @click="cancel">取 消</el-button>
22
+      </div>
23
+    </el-dialog>
24
+  </div>
25
+</template>
26
+
27
+<script>
28
+export default {
29
+  name: "courtReviewDialog",
30
+  props: ["showcourtReview"],
31
+  data() {
32
+    return {
33
+      value1: "",
34
+    };
35
+  },
36
+  methods: {
37
+    submitForm() {
38
+      // this.$refs['ktrq'].
39
+    },
40
+    cancel() {
41
+      this.$emit("cancelcourtReview");
42
+    },
43
+  },
44
+};
45
+</script>
46
+
47
+<style lang="scss" scoped>
48
+.el-form-item{
49
+  margin-left: 10%;
50
+}
51
+</style>

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

@@ -0,0 +1,144 @@
1
+<template>
2
+  <div>
3
+    <!-- 组庭界面 -->
4
+    <el-dialog
5
+      title="组庭审核"
6
+      :visible="showformateCourt"
7
+      width="800px"
8
+      @close="cancel"
9
+      :destroy-on-close="true"
10
+    >
11
+      <el-form label-width="150px">
12
+        <el-form-item label="是否同意组庭:">
13
+          <el-radio-group v-model="isAgreePendTral">
14
+            <el-radio :label="1">是</el-radio>
15
+            <el-radio :label="0">否</el-radio>
16
+          </el-radio-group>
17
+        </el-form-item>
18
+      </el-form>
19
+      <!-- <el-form ref="form"> -->
20
+      <el-table
21
+        :data="dataList"
22
+        style="width: 100%"
23
+        @selection-change="handleSelectionChange"
24
+        v-if="isAgreePendTral == 0"
25
+      >
26
+        <el-table-column type="selection" width="55"> </el-table-column>
27
+        <el-table-column
28
+          label="仲裁员姓名"
29
+          align="center"
30
+          prop="arbitratorName"
31
+          :show-overflow-tooltip="true"
32
+        />
33
+        <el-table-column
34
+          label="专业分类"
35
+          align="center"
36
+          prop="professiClassifi"
37
+          :show-overflow-tooltip="true"
38
+        />
39
+        <el-table-column
40
+          label="当前案件数量"
41
+          align="center"
42
+          prop="currentCaseNum"
43
+          :show-overflow-tooltip="true"
44
+        />
45
+        <el-table-column
46
+          label="已结案数量"
47
+          align="center"
48
+          prop="closedCaseNum"
49
+          :show-overflow-tooltip="true"
50
+        />
51
+      </el-table>
52
+      <pagination
53
+        v-show="total > 0"
54
+        :total="total"
55
+        :page.sync="queryParams.pageNum"
56
+        :limit.sync="queryParams.pageSize"
57
+        @pagination="getarbitrAtor"
58
+        v-if="isAgreePendTral == 0"
59
+      />
60
+      <!-- </el-form> -->
61
+      <div slot="footer" class="dialog-footer">
62
+        <el-button
63
+          type="primary"
64
+          @click="submitForm"
65
+          :disabled="!this.arbitrators.length > 0 && isAgreePendTral == 0"
66
+          >确 定</el-button
67
+        >
68
+        <el-button @click="cancel">取 消</el-button>
69
+      </div>
70
+    </el-dialog>
71
+  </div>
72
+</template>
73
+
74
+<script>
75
+import { arbitrAtor, pendTralCheck } from "@/api/formationCourt/formationCourt";
76
+export default {
77
+  props: ["showformateCourt", "formateCourtData"],
78
+  data() {
79
+    return {
80
+      dataList: [],
81
+      total: 0,
82
+      queryParams: {
83
+        pageNum: 1,
84
+        pageSize: 10,
85
+      },
86
+      arbitrators: [],
87
+      isAgreePendTral: 1,
88
+      paramsdata: {},
89
+    };
90
+  },
91
+  created() {
92
+    this.getarbitrAtor();
93
+  },
94
+  methods: {
95
+    // 获取仲裁员信息
96
+    getarbitrAtor() {
97
+      arbitrAtor({}).then((res) => {
98
+        this.dataList = res.rows;
99
+        this.total = res.total;
100
+      });
101
+    },
102
+    // 勾选仲裁员
103
+    handleSelectionChange(val) {
104
+      this.arbitrators = [];
105
+      val.forEach((item) => {
106
+        this.arbitrators.push({
107
+          id: item.id,
108
+          arbitratorName: item.arbitratorName,
109
+        });
110
+      });
111
+    },
112
+    // 确认
113
+    submitForm() {
114
+      // if (this.arbitrators.length > 0) {
115
+      if (this.isAgreePendTral == 0) {
116
+        this.paramsdata = {
117
+          isAgreePendTral: 0,
118
+          id: this.formateCourtData.id,
119
+          arbitrators: this.arbitrators,
120
+        };
121
+      } else {
122
+        this.paramsdata = {
123
+          isAgreePendTral: 1,
124
+          id: this.formateCourtData.id,
125
+        };
126
+      }
127
+      pendTralCheck(this.paramsdata).then((res) => {
128
+        this.cancel();
129
+        this.$modal.msgSuccess("组庭成功");
130
+        this.$emit("getcaseApply");
131
+      });
132
+      // }
133
+    },
134
+    // 取消
135
+    cancel() {
136
+      this.$emit("cancelcourtDialog");
137
+      this.arbitrators = [];
138
+    },
139
+  },
140
+};
141
+</script>
142
+
143
+<style lang="scss" scoped>
144
+</style>

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

@@ -0,0 +1,37 @@
1
+<template>
2
+  <div>
3
+    <el-dialog
4
+      title="开庭审理"
5
+      :visible="showtrialincourt"
6
+      width="500px"
7
+      @close="cancel"
8
+      :destroy-on-close="true"
9
+    >
10
+      开庭审理弹框
11
+      <div slot="footer" class="dialog-footer">
12
+        <el-button type="primary" @click="submitForm">提 交</el-button>
13
+        <el-button @click="cancel">取 消</el-button>
14
+      </div>
15
+    </el-dialog>
16
+  </div>
17
+</template>
18
+
19
+<script>
20
+export default {
21
+  props: ["showtrialincourt"],
22
+  data() {
23
+    return {
24
+      // key: value
25
+    };
26
+  },
27
+  methods: {
28
+    submitForm() {},
29
+    cancel() {
30
+      this.$emit("canceltrialincourt");
31
+    },
32
+  },
33
+};
34
+</script>
35
+
36
+<style lang="scss" scoped>
37
+</style>

+ 15
- 0
src/views/identityManagement/IdentityauthenticationList.vue Просмотреть файл

@@ -0,0 +1,15 @@
1
+<template>
2
+    <div class="app-container">
3
+        身份认证列表
4
+    </div>
5
+</template>
6
+
7
+<script>
8
+    export default {
9
+        
10
+    }
11
+</script>
12
+
13
+<style lang="scss" scoped>
14
+
15
+</style>

+ 1
- 1
src/views/index.vue Просмотреть файл

@@ -7,7 +7,7 @@
7 7
     </el-row>
8 8
     <el-row :gutter="20">
9 9
       <el-col :sm="24" :lg="12" style="padding-left: 20px">
10
-        <h2>智慧仲裁后台管理框架</h2>
10
+        <h2>我的待办事项</h2>
11 11
       </el-col>
12 12
     </el-row>
13 13
     <el-divider />

+ 79
- 0
src/views/paymentManagement/components/paymentdetailsDialog.vue Просмотреть файл

@@ -0,0 +1,79 @@
1
+<template>
2
+  <div>
3
+    <el-dialog
4
+      :title="title"
5
+      :visible="openDialog"
6
+      width="800px"
7
+      @close="cancel"
8
+      :destroy-on-close="true"
9
+    >
10
+      <el-form ref="form" :model="form" label-width="150px" :disabled="true">
11
+        <el-form-item label="案件编号:" prop="caseNum">
12
+          <el-input v-model="form.caseNum" placeholder="" />
13
+        </el-form-item>
14
+        <el-form-item label="案件标的:" prop="caseSubjectAmount">
15
+          <el-input-number
16
+            v-model="form.caseSubjectAmount"
17
+            controls-position="right"
18
+            :min="0"
19
+          />
20
+        </el-form-item>
21
+        <el-form-item label="缴费人:" prop="caseNum">
22
+          <el-input v-model="form.caseNum" placeholder="" />
23
+        </el-form-item>
24
+        <el-form-item label="缴费金额:" prop="feePayable">
25
+          <el-input-number
26
+            v-model="form.feePayable"
27
+            controls-position="right"
28
+            :min="0"
29
+          />
30
+        </el-form-item>
31
+        <!-- <el-form-item label="缴费截图:" prop="respondent">
32
+          <el-input v-model="form.Respondent" placeholder="" />
33
+        </el-form-item> -->
34
+        <el-form-item label="案件状态:" prop="caseStatusName">
35
+          <el-input v-model="form.caseStatusName" placeholder="" />
36
+        </el-form-item>
37
+      </el-form>
38
+      <div slot="footer" class="dialog-footer">
39
+        <el-button type="primary" @click="submitForm" v-if="flag == 0"
40
+          >提 交</el-button
41
+        >
42
+        <el-button @click="cancel">取 消</el-button>
43
+      </div>
44
+    </el-dialog>
45
+  </div>
46
+</template>
47
+
48
+<script>
49
+export default {
50
+  props: ["openDialog", "title", "flag", "detailform"],
51
+  data() {
52
+    return {
53
+      // key: value
54
+      form: {},
55
+    };
56
+  },
57
+  watch: {
58
+    openDialog: {
59
+      handler(val) {
60
+        if (val) {
61
+          setTimeout(() => {
62
+            this.form = this.detailform;
63
+            console.log(this.form, "this.form");
64
+          }, 1000);
65
+        }
66
+      },
67
+    },
68
+  },
69
+  methods: {
70
+    submitForm() {},
71
+    cancel() {
72
+      this.$emit("cancelpaymentdetails");
73
+    },
74
+  },
75
+};
76
+</script>
77
+
78
+<style lang="scss" scoped>
79
+</style>

+ 247
- 0
src/views/paymentManagement/paymentList.vue Просмотреть файл

@@ -0,0 +1,247 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form
4
+      :model="queryParams"
5
+      ref="queryForm"
6
+      size="small"
7
+      :inline="true"
8
+      label-width="68px"
9
+    >
10
+      <el-form-item label="案件编号" prop="caseNum">
11
+        <el-input
12
+          v-model="queryParams.caseNum"
13
+          placeholder="请输入案件编号"
14
+          clearable
15
+          @keyup.enter.native="handleQuery"
16
+        />
17
+      </el-form-item>
18
+      <el-form-item label="案件状态" prop="caseStatus">
19
+        <el-select
20
+          v-model="queryParams.caseStatus"
21
+          placeholder="请选择案件状态"
22
+          clearable
23
+          @keyup.enter.native="handleQuery"
24
+        >
25
+          <el-option
26
+            v-for="dict in dict.type.case_status"
27
+            :key="dict.value"
28
+            :label="dict.label"
29
+            :value="dict.value"
30
+          ></el-option>
31
+        </el-select>
32
+      </el-form-item>
33
+      <el-form-item label="开庭日期" prop="hearDate">
34
+        <el-date-picker
35
+          v-model="queryParams.hearDate"
36
+          type="daterange"
37
+          range-separator="至"
38
+          start-placeholder="开始日期"
39
+          end-placeholder="结束日期"
40
+        >
41
+        </el-date-picker>
42
+      </el-form-item>
43
+      <el-form-item>
44
+        <el-button
45
+          type="primary"
46
+          icon="el-icon-search"
47
+          size="mini"
48
+          @click="handleQuery"
49
+          >搜索</el-button
50
+        >
51
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
52
+          >重置</el-button
53
+        >
54
+      </el-form-item>
55
+    </el-form>
56
+    <el-table v-loading="loading" :data="dataList" style="width: 100%">
57
+      <el-table-column label="序号" type="index" align="center">
58
+        <template slot-scope="scope">
59
+          <span>{{
60
+            (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
61
+          }}</span>
62
+        </template>
63
+      </el-table-column>
64
+      <el-table-column
65
+        label="案件编号"
66
+        align="center"
67
+        prop="caseNum"
68
+        :show-overflow-tooltip="true"
69
+      />
70
+      <el-table-column
71
+        label="案件标的"
72
+        align="center"
73
+        prop="caseSubjectAmount"
74
+      />
75
+      <el-table-column
76
+        label="立案日期"
77
+        align="center"
78
+        prop="registerDate"
79
+        :show-overflow-tooltip="true"
80
+      />
81
+      <!-- 缴费人 -->
82
+      <el-table-column label="缴费人" align="center" prop="caseArbitrator" />
83
+      <el-table-column label="缴费状态" align="center" prop="caseStatus" />
84
+      <el-table-column
85
+        label="操作"
86
+        align="center"
87
+        class-name="small-padding fixed-width"
88
+      >
89
+        <template slot-scope="scope">
90
+          <el-button
91
+            size="mini"
92
+            type="text"
93
+            icon="el-icon-zoom-in"
94
+            @click="paymentconfirmationRow(scope.row)"
95
+            v-hasPermi="['monitor:online:forceLogout']"
96
+            >缴费确认</el-button
97
+          >
98
+          <el-button
99
+            size="mini"
100
+            type="text"
101
+            icon="el-icon-edit"
102
+            @click="viewpaymentformRow(scope.row)"
103
+            v-hasPermi="['monitor:online:forceLogout']"
104
+            >查看缴费单</el-button
105
+          >
106
+        </template>
107
+      </el-table-column>
108
+    </el-table>
109
+    <pagination
110
+      v-show="total > 0"
111
+      :total="total"
112
+      :page.sync="queryParams.pageNum"
113
+      :limit.sync="queryParams.pageSize"
114
+      @pagination="getList"
115
+    />
116
+    <!-- 缴费确认数据详情 -->
117
+    <paymentdetailsDialog
118
+      :openDialog="openDialog"
119
+      :detailform="detailform"
120
+      :title="title"
121
+      :flag="flag"
122
+      @cancelpaymentdetails="cancelpaymentdetails"
123
+    ></paymentdetailsDialog>
124
+  </div>
125
+</template>
126
+
127
+<script>
128
+import {
129
+  caseApplicationList,
130
+  caseApplicationDetail,
131
+  casePay,
132
+} from "@/api/pay/pay";
133
+import paymentdetailsDialog from "./components/paymentdetailsDialog.vue";
134
+
135
+export default {
136
+  name: "paymentList",
137
+  dicts: ["case_status"],
138
+  components: { paymentdetailsDialog },
139
+  data() {
140
+    return {
141
+      queryParams: {
142
+        caseNum: undefined,
143
+        pageNum: 1,
144
+        registerDate: "",
145
+        pageSize: 10,
146
+      },
147
+      // 付款二维码
148
+      paySrc: "",
149
+      // 遮罩层
150
+      loading: false,
151
+      // 总条数
152
+      total: 0,
153
+      // 表格数据
154
+      list: [],
155
+      pageNum: 1,
156
+      pageSize: 10,
157
+      // 弹出层标题
158
+      title: "",
159
+      payTitle: "",
160
+      // 是否显示弹出层
161
+      open: false,
162
+      openPay: false,
163
+      // 弹出层内容
164
+      form: {},
165
+      // 校验表单
166
+      rules: {},
167
+      dataList: [],
168
+      // 支付文字
169
+      payMain: "",
170
+      // 支付元素显示
171
+      payFlag: false,
172
+      // 案件id,案件实付金额
173
+      payForm: {},
174
+      detailform: {}, //缴费详情数据
175
+      openDialog: false, //缴费详情数据弹框
176
+      flag: null,
177
+    };
178
+  },
179
+  created() {
180
+    this.getList();
181
+  },
182
+  methods: {
183
+    /** 搜索按钮操作 */
184
+    handleQuery() {
185
+      this.queryParams.pageNum = 1;
186
+      this.getList();
187
+    },
188
+    /** 重置按钮操作 */
189
+    resetQuery() {
190
+      this.resetForm("queryForm");
191
+      this.handleQuery();
192
+    },
193
+    // 查询列表数据
194
+    getList() {
195
+      this.loading = true;
196
+      caseApplicationList(this.queryParams).then((response) => {
197
+        this.dataList = response.rows;
198
+        this.dataList.forEach((item) => {
199
+          if (item.caseStatus == 1) {
200
+            item.caseStatusName = "待缴费";
201
+          }
202
+          if (item.arbitratMethod == "1") {
203
+            item.arbitratMethodName = "视频仲裁";
204
+          } else if (item.arbitratMethod == "2") {
205
+            item.arbitratMethodName = "书面仲裁";
206
+          }
207
+        });
208
+        this.total = response.total;
209
+        this.loading = false;
210
+      });
211
+    },
212
+    // 缴费确认
213
+    paymentconfirmationRow(row) {
214
+    //   console.log("缴费确认", row);
215
+      this.getDetail({ id: row.id });
216
+      this.openDialog = true;
217
+      this.title = "缴费确认";
218
+      this.flag = 0;
219
+    },
220
+    // 查看缴费单
221
+    viewpaymentformRow(row) {
222
+    //   console.log("查看缴费单", row);
223
+      this.getDetail({ id: row.id });
224
+      this.openDialog = true;
225
+      this.title = "缴费单详情";
226
+      this.flag = 1;
227
+    },
228
+    // 关闭弹窗
229
+    cancelpaymentdetails() {
230
+      this.openDialog = false;
231
+    },
232
+    /** 查询详情 */
233
+    getDetail(parms) {
234
+      caseApplicationDetail(parms).then((res) => {
235
+        // console.log(res,'resesrrsrrsrrsrsr');
236
+        // if (res.data.caseStatus == 2) {
237
+        //   res.data.caseStatusName = "待缴费确认";
238
+        // }
239
+        this.detailform = res.data;
240
+      });
241
+    },
242
+  },
243
+};
244
+</script>
245
+
246
+<style lang="scss" scoped>
247
+</style>