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

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

hhlxayunmei 2 лет назад
Родитель
Сommit
904693df28

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

@@ -0,0 +1,10 @@
1
+import request from '@/utils/request'
2
+
3
+// 档案详情查询
4
+export function adjudicationArchives(data) {
5
+  return request({
6
+    url: '/adjudication/archives',
7
+    method: 'get',
8
+    params: data
9
+  })
10
+}

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

@@ -108,6 +108,7 @@
108 108
       v-if="showarchiveDetails"
109 109
       :showarchiveDetails="showarchiveDetails"
110 110
       :detailform="detailform"
111
+      :flagLoading="flagLoading"
111 112
       @cancelpaymentdetails="cancelpaymentdetails"
112 113
       @updataList="updataList"
113 114
     ></archiveDetailsDialog>
@@ -115,10 +116,8 @@
115 116
 </template>
116 117
   
117 118
 <script>
118
-import {
119
-  caseApplicationList,
120
-  caseApplicationDetail,
121
-} from "@/api/awardManagement/awardManagement";
119
+import { caseApplicationList } from "@/api/awardManagement/awardManagement";
120
+import { adjudicationArchives } from "@/api/caseFiling/caseFiling";
122 121
 import archiveDetailsDialog from "./components/archiveDetailsDialog.vue";
123 122
 
124 123
 export default {
@@ -145,6 +144,7 @@ export default {
145 144
       dataList: [],
146 145
       detailform: {}, //详情数据
147 146
       showarchiveDetails: false, //详情数据弹框
147
+      flagLoading: true, //详情弹框loading
148 148
     };
149 149
   },
150 150
   created() {
@@ -176,7 +176,7 @@ export default {
176 176
     },
177 177
     // model框显示
178 178
     showDetail(row) {
179
-      // this.getDetail({ id: row.id });
179
+      this.getDetail({ id: row.id });
180 180
       this.showarchiveDetails = true;
181 181
     },
182 182
     // 关闭弹窗
@@ -185,8 +185,10 @@ export default {
185 185
     },
186 186
     /** 查询详情 */
187 187
     getDetail(parms) {
188
-      caseApplicationDetail(parms).then((res) => {
188
+      this.flagLoading = true;
189
+      adjudicationArchives(parms).then((res) => {
189 190
         this.detailform = res.data;
191
+        this.flagLoading = false;
190 192
       });
191 193
     },
192 194
   },

+ 60
- 10
src/views/caseFiling/components/archiveDetailsDialog.vue Просмотреть файл

@@ -7,13 +7,25 @@
7 7
       :destroy-on-close="true"
8 8
       center
9 9
     >
10
-       <el-tabs v-model="activeName" @tab-click="handleClick">
11
-        <el-tab-pane label="案件信息" name="first">
12
-          <caseInfo></caseInfo>
13
-         </el-tab-pane>
14
-        <el-tab-pane label="案件日志" name="second">案件日志</el-tab-pane>
15
-        <el-tab-pane label="快递信息" name="third">快递信息</el-tab-pane>
16
-      </el-tabs> 
10
+      <div class="loading" v-if="flagLoading">
11
+        <i class="el-icon-loading"></i>
12
+      </div>
13
+      <div v-else>
14
+        <div class="noData" v-if="noData">暂无数据!</div>
15
+        <el-tabs v-model="activeName" @tab-click="handleClick">
16
+          <el-tab-pane label="案件信息" name="first">
17
+            <caseInfo :caseApplicationObj="caseApplicationObj"></caseInfo>
18
+          </el-tab-pane>
19
+          <el-tab-pane label="案件日志" name="second">
20
+            <caselogInfo :caselogDataArr="caselogDataArr"></caselogInfo>
21
+          </el-tab-pane>
22
+          <el-tab-pane label="快递信息" name="third">
23
+            <expressDeliveryInfo
24
+              :deliveryDataArr="deliveryDataArr"
25
+            ></expressDeliveryInfo>
26
+          </el-tab-pane>
27
+        </el-tabs>
28
+      </div>
17 29
       <div slot="footer" class="dialog-footer">
18 30
         <el-button @click="cancel">取 消</el-button>
19 31
       </div>
@@ -23,20 +35,38 @@
23 35
 
24 36
 <script>
25 37
 import caseInfo from "./caseInfo.vue";
38
+import caselogInfo from "./caselogInfo.vue";
39
+import expressDeliveryInfo from "./expressDeliveryInfo.vue";
26 40
 export default {
27
-  props: ["showarchiveDetails"],
41
+  props: ["showarchiveDetails", "detailform", "flagLoading"],
28 42
   components: {
29 43
     caseInfo,
44
+    caselogInfo,
45
+    expressDeliveryInfo,
30 46
   },
31 47
   data() {
32 48
     return {
33
-      // key: value
34 49
       activeName: "first",
50
+      caseApplicationObj: {}, //案件信息
51
+      caselogDataArr: [], //案件日志
52
+      deliveryDataArr: [], //快递信息
53
+      noData: false,
35 54
     };
36 55
   },
56
+  watch: {
57
+    detailform: {
58
+      handler(val) {
59
+        if (val) {
60
+          this.caseApplicationObj = val.caseApplication;
61
+          this.caselogDataArr = val.caseLogRecordList;
62
+          this.deliveryDataArr = val.logisticsInfoVOList;
63
+        }
64
+      },
65
+    },
66
+  },
37 67
   methods: {
38 68
     handleClick(tab, event) {
39
-      console.log(tab, event);
69
+      // console.log(tab, event);
40 70
     },
41 71
     cancel() {
42 72
       this.$emit("cancelpaymentdetails");
@@ -55,4 +85,24 @@ export default {
55 85
   height: 700px !important;
56 86
   overflow: auto !important;
57 87
 }
88
+.loading {
89
+  width: 100%;
90
+  height: 100%;
91
+  display: flex;
92
+  justify-content: center;
93
+  align-items: center;
94
+  .el-icon-loading {
95
+    font-size: 50px;
96
+  }
97
+}
98
+.noData {
99
+  width: 100%;
100
+  height: 400px;
101
+  font-size: 30px;
102
+  font-weight: 700;
103
+  color: #959595;
104
+  display: flex;
105
+  justify-content: center;
106
+  align-items: center;
107
+}
58 108
 </style>

+ 163
- 45
src/views/caseFiling/components/caseInfo.vue Просмотреть файл

@@ -81,11 +81,18 @@
81 81
         </el-col>
82 82
         <el-col :span="24">
83 83
           <el-form-item label="申请人案件证据资料:">
84
-            <div v-for="(item, index) in applicateArr" :key="index">
84
+            <!-- <div v-for="(item, index) in applicateArr" :key="index">
85 85
               <a href="#" @click="toFile(item, index)" style="color: blue">
86 86
                 {{ item.annexName }}
87 87
               </a>
88
-            </div>
88
+            </div> -->
89
+            <p
90
+              @click="toFile(index, 2)"
91
+              v-for="(item, index) in applicantFileArr"
92
+              :key="index"
93
+            >
94
+              <a href="#">{{ item }}</a>
95
+            </p>
89 96
           </el-form-item>
90 97
         </el-col>
91 98
         <!-- 仅详情展示 案件质证环节以后显示被申请人证据-->
@@ -94,19 +101,36 @@
94 101
             label="被申请人案件证据资料:"
95 102
             prop="respondentEvidence"
96 103
           >
97
-            <div v-for="(item, index) in quiltArr" :key="index">
104
+            <!-- <div v-for="(item, index) in quiltArr" :key="index">
98 105
               <a href="#" @click="toFile1(item, index)" style="color: blue">
99 106
                 {{ item.annexName }}
100 107
               </a>
101
-            </div>
108
+            </div> -->
109
+            <p
110
+              v-for="(item, index) in respondentFileArr"
111
+              :key="index"
112
+              @click="toFile(index, 6)"
113
+            >
114
+              <a href="#">{{ item }}</a>
115
+            </p>
116
+          </el-form-item>
117
+        </el-col>
118
+        <el-col :span="24">
119
+          <el-form-item label="裁决书附件:">
120
+            <p
121
+              v-for="(item, index) in awardFileArr"
122
+              :key="index"
123
+              @click="toFile(index, 3)"
124
+            >
125
+              <a href="#">{{ item }}</a>
126
+            </p>
102 127
           </el-form-item>
103 128
         </el-col>
104 129
       </el-row>
105 130
     </el-form>
106 131
     <!-- 申请人主体信息 -->
107
-    <el-form ref="form2" :model="form2" label-width="150px">
108
-      <!-- <div v-for="(item, index) in form2.paymentArr" :key="index"> -->
109
-      <div>
132
+    <el-form ref="form2" :model="form2" label-width="150px" disabled>
133
+      <div v-for="(item, index) in form2.paymentArr" :key="index">
110 134
         <div style="display: flex; justify-content: space-between">
111 135
           <div style="display: inline-flex">
112 136
             <div class="infoIcon"></div>
@@ -126,14 +150,12 @@
126 150
                 },
127 151
               ]"
128 152
             >
129
-              <!-- <el-input v-model="item.name" placeholder="请输入" /> -->
130
-              <el-input placeholder="请输入" />
153
+              <el-input v-model="item.name" placeholder="请输入" />
131 154
             </el-form-item>
132 155
           </el-col>
133 156
           <el-col :span="12">
134 157
             <el-form-item label="代码:">
135
-              <!-- <el-input v-model="item.identityNum" placeholder="请输入" /> -->
136
-              <el-input placeholder="请输入" />
158
+              <el-input v-model="item.identityNum" placeholder="请输入" />
137 159
             </el-form-item>
138 160
           </el-col>
139 161
           <el-col :span="12">
@@ -152,8 +174,7 @@
152 174
                 },
153 175
               ]"
154 176
             >
155
-              <!-- <el-input v-model="item.contactTelphone" placeholder="请输入" /> -->
156
-              <el-input placeholder="请输入" />
177
+              <el-input v-model="item.contactTelphone" placeholder="请输入" />
157 178
             </el-form-item>
158 179
           </el-col>
159 180
           <el-col :span="12">
@@ -167,8 +188,7 @@
167 188
                 },
168 189
               ]"
169 190
             >
170
-              <!-- <el-input v-model="item.workAddress" placeholder="请输入" /> -->
171
-              <el-input placeholder="请输入" />
191
+              <el-input v-model="item.workAddress" placeholder="请输入" />
172 192
             </el-form-item>
173 193
           </el-col>
174 194
           <el-col :span="12">
@@ -182,8 +202,7 @@
182 202
                 },
183 203
               ]"
184 204
             >
185
-              <!-- <el-input v-model="item.workTelphone" placeholder="请输入" /> -->
186
-              <el-input placeholder="请输入" />
205
+              <el-input v-model="item.workTelphone" placeholder="请输入" />
187 206
             </el-form-item>
188 207
           </el-col>
189 208
           <el-col :span="12">
@@ -197,8 +216,7 @@
197 216
                 },
198 217
               ]"
199 218
             >
200
-              <!-- <el-input v-model="item.contactAddress" placeholder="请输入" /> -->
201
-              <el-input placeholder="请输入" />
219
+              <el-input v-model="item.contactAddress" placeholder="请输入" />
202 220
             </el-form-item>
203 221
           </el-col>
204 222
         </el-row>
@@ -218,8 +236,7 @@
218 236
                 },
219 237
               ]"
220 238
             >
221
-              <!-- <el-input v-model="item.nameAgent" placeholder="请输入" /> -->
222
-              <el-input placeholder="请输入" />
239
+              <el-input v-model="item.nameAgent" placeholder="请输入" />
223 240
             </el-form-item>
224 241
           </el-col>
225 242
           <el-col :span="12">
@@ -239,8 +256,7 @@
239 256
                 },
240 257
               ]"
241 258
             >
242
-              <!-- <el-input v-model="item.identityNumAgent" placeholder="请输入" /> -->
243
-              <el-input placeholder="请输入" />
259
+              <el-input v-model="item.identityNumAgent" placeholder="请输入" />
244 260
             </el-form-item>
245 261
           </el-col>
246 262
           <el-col :span="12">
@@ -259,11 +275,10 @@
259 275
                 },
260 276
               ]"
261 277
             >
262
-              <!-- <el-input
278
+              <el-input
263 279
                 v-model="item.contactTelphoneAgent"
264 280
                 placeholder="请输入"
265
-              /> -->
266
-              <el-input placeholder="请输入" />
281
+              />
267 282
             </el-form-item>
268 283
           </el-col>
269 284
           <el-col :span="12">
@@ -277,22 +292,21 @@
277 292
                 },
278 293
               ]"
279 294
             >
280
-              <!-- <el-input
295
+              <el-input
281 296
                 v-model="item.contactAddressAgent"
282 297
                 placeholder="请输入"
283
-              /> -->
284
-              <el-input placeholder="请输入" />
298
+              />
285 299
             </el-form-item>
286 300
           </el-col>
287 301
         </el-row>
288 302
       </div>
289 303
     </el-form>
290
-    <el-form ref="form3" label-width="150px" :model="form3">
291
-      <!-- <div
304
+    <!-- 被申请人主体信息 -->
305
+    <el-form ref="form3" label-width="150px" disabled :model="form3">
306
+      <div
292 307
         v-for="(itm, index) in form3.paymentArr1"
293 308
         :key="index + form2.paymentArr.length"
294
-      > -->
295
-      <div>
309
+      >
296 310
         <div style="display: flex; justify-content: space-between">
297 311
           <div style="display: inline-flex">
298 312
             <div class="infoIcon"></div>
@@ -304,6 +318,7 @@
304 318
           <el-col :span="12">
305 319
             <el-form-item
306 320
               label="被申请人姓名"
321
+              :prop="'paymentArr1.' + index + '.name'"
307 322
               :rules="[
308 323
                 {
309 324
                   required: true,
@@ -312,12 +327,13 @@
312 327
                 },
313 328
               ]"
314 329
             >
315
-              <el-input placeholder="请输入" />
330
+              <el-input v-model="itm.name" placeholder="请输入" />
316 331
             </el-form-item>
317 332
           </el-col>
318 333
           <el-col :span="12">
319 334
             <el-form-item
320 335
               label="身份证号:"
336
+              :prop="'paymentArr1.' + index + '.identityNum'"
321 337
               :rules="[
322 338
                 {
323 339
                   required: true,
@@ -332,12 +348,13 @@
332 348
                 },
333 349
               ]"
334 350
             >
335
-              <el-input placeholder="请输入" />
351
+              <el-input v-model="itm.identityNum" placeholder="请输入" />
336 352
             </el-form-item>
337 353
           </el-col>
338 354
           <el-col :span="12">
339 355
             <el-form-item
340 356
               label="联系电话:"
357
+              :prop="'paymentArr1.' + index + '.contactTelphone'"
341 358
               :rules="[
342 359
                 {
343 360
                   required: true,
@@ -351,12 +368,13 @@
351 368
                 },
352 369
               ]"
353 370
             >
354
-              <el-input placeholder="请输入" />
371
+              <el-input v-model="itm.contactTelphone" placeholder="请输入" />
355 372
             </el-form-item>
356 373
           </el-col>
357 374
           <el-col :span="12">
358 375
             <el-form-item
359 376
               label="单位地址:"
377
+              :prop="'paymentArr1.' + index + '.workAddress'"
360 378
               :rules="[
361 379
                 {
362 380
                   required: true,
@@ -365,12 +383,13 @@
365 383
                 },
366 384
               ]"
367 385
             >
368
-              <el-input placeholder="请输入" />
386
+              <el-input v-model="itm.workAddress" placeholder="请输入" />
369 387
             </el-form-item>
370 388
           </el-col>
371 389
           <el-col :span="12">
372 390
             <el-form-item
373 391
               label="单位电话:"
392
+              :prop="'paymentArr1.' + index + '.workTelphone'"
374 393
               :rules="[
375 394
                 {
376 395
                   required: true,
@@ -379,12 +398,13 @@
379 398
                 },
380 399
               ]"
381 400
             >
382
-              <el-input placeholder="请输入" />
401
+              <el-input v-model="itm.workTelphone" placeholder="请输入" />
383 402
             </el-form-item>
384 403
           </el-col>
385 404
           <el-col :span="12">
386 405
             <el-form-item
387 406
               label="联系地址:"
407
+              :prop="'paymentArr1.' + index + '.contactAddress'"
388 408
               :rules="[
389 409
                 {
390 410
                   required: true,
@@ -393,7 +413,7 @@
393 413
                 },
394 414
               ]"
395 415
             >
396
-              <el-input placeholder="请输入" />
416
+              <el-input v-model="itm.contactAddress" placeholder="请输入" />
397 417
             </el-form-item>
398 418
           </el-col>
399 419
         </el-row>
@@ -401,10 +421,12 @@
401 421
           <div class="infoIcon"></div>
402 422
           <div class="caseInfo2">代理人信息:</div>
403 423
         </div>
424
+        <!-- <p>代理人信息:</p> -->
404 425
         <el-row>
405 426
           <el-col :span="12">
406 427
             <el-form-item
407 428
               label="姓名:"
429
+              :prop="'paymentArr1.' + index + '.nameAgent'"
408 430
               :rules="[
409 431
                 {
410 432
                   required: true,
@@ -413,12 +435,14 @@
413 435
                 },
414 436
               ]"
415 437
             >
416
-              <el-input placeholder="请输入" />
438
+              <el-input v-model="itm.nameAgent" placeholder="请输入" />
417 439
             </el-form-item>
418 440
           </el-col>
419 441
           <el-col :span="12">
442
+            <!--  -->
420 443
             <el-form-item
421 444
               label="身份证号:"
445
+              :prop="'paymentArr1.' + index + '.identityNumAgent'"
422 446
               :rules="[
423 447
                 {
424 448
                   required: true,
@@ -433,12 +457,13 @@
433 457
                 },
434 458
               ]"
435 459
             >
436
-              <el-input placeholder="请输入" />
460
+              <el-input v-model="itm.identityNumAgent" placeholder="请输入" />
437 461
             </el-form-item>
438 462
           </el-col>
439 463
           <el-col :span="12">
440 464
             <el-form-item
441 465
               label="联系电话:"
466
+              :prop="'paymentArr1.' + index + '.contactTelphoneAgent'"
442 467
               :rules="[
443 468
                 {
444 469
                   required: true,
@@ -452,12 +477,16 @@
452 477
                 },
453 478
               ]"
454 479
             >
455
-              <el-input placeholder="请输入" />
480
+              <el-input
481
+                v-model="itm.contactTelphoneAgent"
482
+                placeholder="请输入"
483
+              />
456 484
             </el-form-item>
457 485
           </el-col>
458 486
           <el-col :span="12">
459 487
             <el-form-item
460 488
               label="联系地址:"
489
+              :prop="'paymentArr1.' + index + '.contactAddressAgent'"
461 490
               :rules="[
462 491
                 {
463 492
                   required: true,
@@ -466,7 +495,10 @@
466 495
                 },
467 496
               ]"
468 497
             >
469
-              <el-input placeholder="请输入" />
498
+              <el-input
499
+                v-model="itm.contactAddressAgent"
500
+                placeholder="请输入"
501
+              />
470 502
             </el-form-item>
471 503
           </el-col>
472 504
         </el-row>
@@ -477,15 +509,98 @@
477 509
 
478 510
 <script>
479 511
 export default {
512
+  props: ["caseApplicationObj"],
480 513
   data() {
481 514
     return {
482 515
       formData: {},
483 516
       applicateArr: [],
484 517
       quiltArr: [],
485
-      form2: {},
486
-      form3: {},
518
+      initpaymentArr: [],
519
+      initpaymentArr1: [],
520
+      form2: {
521
+        paymentArr: [
522
+          {
523
+            identityType: 1,
524
+            name: "",
525
+            identityNum: "",
526
+            contactTelphone: "",
527
+            workAddress: "",
528
+            workTelphone: "",
529
+            contactAddress: "",
530
+            nameAgent: "",
531
+            contactTelphoneAgent: "",
532
+            contactAddressAgent: "",
533
+          },
534
+        ],
535
+      }, //申请人主体信息
536
+      form3: {
537
+        paymentArr1: [
538
+          {
539
+            identityType: 2,
540
+            name: "",
541
+            identityNum: "",
542
+            contactTelphone: "",
543
+            workAddress: "",
544
+            workTelphone: "",
545
+            contactAddress: "",
546
+            nameAgent: "",
547
+            contactTelphoneAgent: "",
548
+            contactAddressAgent: "",
549
+          },
550
+        ],
551
+      }, //被申请人主体信息
552
+      applicantFileArr: [], //申请人
553
+      applicantPathArr: [], //申请人
554
+      respondentFileArr: [], //被申请人
555
+      respondenPathArr: [], //被申请人
556
+      awardFileArr: [], //裁决书
557
+      awardPathArr: [], //裁决书
487 558
     };
488 559
   },
560
+  created() {
561
+    if (this.caseApplicationObj) {
562
+      this.formData = this.caseApplicationObj;
563
+    }
564
+    console.log("this.formData", this.formData);
565
+    if (this.caseApplicationObj && this.caseApplicationObj.caseAffiliates) {
566
+      this.caseApplicationObj.caseAffiliates.forEach((item) => {
567
+        if (item.identityType == 1) {
568
+          this.initpaymentArr.push(item);
569
+        } else {
570
+          this.initpaymentArr1.push(item);
571
+        }
572
+        this.form2.paymentArr = this.initpaymentArr;
573
+        this.form3.paymentArr1 = this.initpaymentArr1;
574
+      });
575
+    }
576
+    if (this.caseApplicationObj && this.caseApplicationObj.caseAttachList) {
577
+      this.caseApplicationObj.caseAttachList.forEach((item) => {
578
+        if (item.annexType == 2) {
579
+          this.applicantFileArr.push(item.annexName);
580
+          this.applicantPathArr.push(item.annexPath);
581
+        } else if (item.annexType == 6) {
582
+          this.respondentFileArr.push(item.annexName);
583
+          this.respondenPathArr.push(item.annexPath);
584
+        } else if (item.annexType == 3) {
585
+          this.awardFileArr.push(item.annexName);
586
+          this.awardPathArr.push(item.annexPath);
587
+        }
588
+      });
589
+    }
590
+  },
591
+  methods: {
592
+    // 预览文件
593
+    toFile(index, val) {
594
+      let headPath = window.location.origin + "/API";
595
+      if (val == 2) {
596
+        window.open(headPath + this.applicantPathArr[index], "_blank");
597
+      } else if (val == 6) {
598
+        window.open(headPath + this.respondenPathArr[index], "_blank");
599
+      } else if (val == 3) {
600
+        window.open(headPath + this.awardPathArr[index], "_blank");
601
+      }
602
+    },
603
+  },
489 604
 };
490 605
 </script>
491 606
 
@@ -506,4 +621,7 @@ export default {
506 621
 .el-date-editor {
507 622
   width: 100%;
508 623
 }
624
+a {
625
+  color: blue;
626
+}
509 627
 </style>

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

@@ -0,0 +1,99 @@
1
+<template>
2
+  <div>
3
+      <div class="loading" v-if="flagLoading">
4
+        <i class="el-icon-loading"></i>
5
+      </div>
6
+      <div v-else>
7
+        <div class="noData" v-if="noData">暂无数据!</div>
8
+        <el-timeline v-else>
9
+          <el-timeline-item
10
+            v-for="(activity, index) in activities"
11
+            :key="index"
12
+            :timestamp="(index + 1).toString()"
13
+            placement="top"
14
+          >
15
+            <p>{{ activity.content }}</p>
16
+          </el-timeline-item>
17
+        </el-timeline>
18
+      </div>
19
+  </div>
20
+</template>
21
+
22
+<script>
23
+export default {
24
+  props: ["flagLoading", "caselogDataArr"],
25
+  data() {
26
+    return {
27
+      activities: [],
28
+      noData: false,
29
+    };
30
+  },
31
+  watch: {
32
+    caselogDataArr: {
33
+      handler(val) {
34
+        if (val && val.length > 0) {
35
+          this.noData = false;
36
+          this.activities = val;
37
+          this.activities.forEach((item) => {
38
+            item.content = item.content;
39
+          });
40
+        } else {
41
+          this.noData = true;
42
+        }
43
+      },
44
+    },
45
+  },
46
+  methods: {
47
+    cancel() {
48
+      this.$emit("cancelcaseLog");
49
+    },
50
+  },
51
+};
52
+</script>
53
+
54
+<style lang="scss" scoped>
55
+::v-deep .el-dialog__body {
56
+  height: 500px !important;
57
+  overflow: auto !important;
58
+}
59
+::v-deep .el-dialog {
60
+  width: 800px;
61
+  background: #ffffff;
62
+  border-radius: 20px;
63
+}
64
+.endbutton1 {
65
+  width: 154px;
66
+  height: 37px;
67
+  background: #ffffff;
68
+  border: 1px solid #d0d0d0;
69
+  border-radius: 19px;
70
+  span {
71
+    width: 31px;
72
+    height: 13px;
73
+    font-size: 16px;
74
+    font-family: Microsoft YaHei;
75
+    font-weight: 400;
76
+    color: #959595;
77
+  }
78
+}
79
+.loading {
80
+  width: 100%;
81
+  height: 100%;
82
+  display: flex;
83
+  justify-content: center;
84
+  align-items: center;
85
+  .el-icon-loading {
86
+    font-size: 50px;
87
+  }
88
+}
89
+.noData {
90
+  width: 100%;
91
+  height: 400px;
92
+  font-size: 30px;
93
+  font-weight: 700;
94
+  color: #959595;
95
+  display: flex;
96
+  justify-content: center;
97
+  align-items: center;
98
+}
99
+</style>

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

@@ -0,0 +1,130 @@
1
+<template>
2
+  <div>
3
+    <div class="loading" v-if="flagLoading">
4
+      <i class="el-icon-loading"></i>
5
+    </div>
6
+    <div v-else>
7
+      <div class="deliverName">
8
+        <span>申请人快递信息:</span>
9
+        {{ expressOne.company }} {{ expressOne.no }}
10
+      </div>
11
+      <el-divider></el-divider>
12
+      <el-timeline :reverse="reverse">
13
+        <el-timeline-item
14
+          v-for="(activity, index) in expressOne.list"
15
+          :key="index"
16
+          :timestamp="activity.timestamp"
17
+        >
18
+          {{ activity.content }}
19
+        </el-timeline-item>
20
+      </el-timeline>
21
+
22
+      <div class="deliverName">
23
+        <span>被申请人快递信息:</span>
24
+        {{ expressTwo.company }} {{ expressTwo.no }}
25
+      </div>
26
+      <el-divider></el-divider>
27
+      <el-timeline :reverse="reverse">
28
+        <el-timeline-item
29
+          v-for="(activity, index) in expressTwo.list"
30
+          :key="index"
31
+          :timestamp="activity.timestamp"
32
+        >
33
+          {{ activity.content }}
34
+        </el-timeline-item>
35
+      </el-timeline>
36
+    </div>
37
+  </div>
38
+</template>
39
+
40
+<script>
41
+export default {
42
+  props: ["deliveryDataArr", "flagLoading"],
43
+  data() {
44
+    return {
45
+      reverse: true,
46
+      applicantdelivery: {}, //申请人物流信息
47
+      expressOne: {},
48
+      expressTwo: {},
49
+    };
50
+  },
51
+  created() {
52
+    console.log(this.deliveryDataArr, "deliveryDataArr");
53
+    if ((this.deliveryDataArr && this.deliveryDataArr, length > 0)) {
54
+      this.deliveryDataArr.forEach((item) => {
55
+        if (item.identityType == 1) {
56
+          let applicantdata = item.logisticsInfo;
57
+          this.applicantdelivery = JSON.parse(applicantdata);
58
+          this.expressOne = this.applicantdelivery;
59
+          console.log(this.expressOne, "this.expressOne");
60
+          if (this.expressOne.length > 0) {
61
+            this.expressOne.list.forEach((item) => {
62
+              item.content = item.datetime;
63
+              item.timestamp = item.remark;
64
+            });
65
+          }
66
+        } else {
67
+          let applicantdata = item.logisticsInfo;
68
+          this.applicantdelivery = JSON.parse(applicantdata);
69
+          if (this.applicantdelivery.list) {
70
+            this.expressTwo = this.applicantdelivery;
71
+            if (this.expressOne.length > 0) {
72
+              this.expressTwo.forEach((item) => {
73
+                item.content = item.datetime;
74
+                item.timestamp = item.remark;
75
+              });
76
+            }
77
+          }
78
+        }
79
+      });
80
+    }
81
+  },
82
+  methods: {
83
+    cancel() {
84
+      this.$emit("closeDeliveryModel");
85
+    },
86
+  },
87
+};
88
+</script>
89
+
90
+<style lang="scss" scoped>
91
+::v-deep .el-dialog {
92
+  width: 600px;
93
+  background: #ffffff;
94
+  border-radius: 20px;
95
+}
96
+.deliverName {
97
+  // margin-left: 6%;
98
+  font-size: 16px;
99
+  font-weight: 500;
100
+  span {
101
+    font-size: 18px;
102
+    font-weight: 600;
103
+  }
104
+}
105
+.endbutton {
106
+  width: 154px;
107
+  height: 37px;
108
+  background: #ffffff;
109
+  border: 1px solid #d0d0d0;
110
+  border-radius: 19px;
111
+  span {
112
+    width: 31px;
113
+    height: 13px;
114
+    font-size: 16px;
115
+    font-family: Microsoft YaHei;
116
+    font-weight: 400;
117
+    color: #959595;
118
+  }
119
+}
120
+.loading {
121
+  width: 100%;
122
+  height: 100%;
123
+  display: flex;
124
+  justify-content: center;
125
+  align-items: center;
126
+  .el-icon-loading {
127
+    font-size: 50px;
128
+  }
129
+}
130
+</style>