zhaoxiaoqiang1
2026-01-04 f1d30d03186c79ca2cbcfe60d6d2ce7d73fba97b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
<template>
  <div>
    <!-- 该操作会导致缓存问题没法及时刷新,待修复 -->
    <!-- <keep-alive v-if="isKeepAlive">
      <component v-bind="$attrs" :relationtype="relationtype" v-bind:is="componentName"></component>
    </keep-alive>
    <component v-else v-bind="$attrs" :relationtype="relationtype" v-bind:is="componentName"></component>-->
    <component
      v-bind="$attrs"
      v-on="$listeners"
      :sellerOrBuyer="sellerOrBuyer"
      :relationtype="relationtype"
      v-bind:is="componentName"
    ></component>
  </div>
</template>
<script>
// 动态组件
 
const CustomerBasicInfo = () => import('./tabsComponent/CustomerBasicInfo') //借款人信息
const GuarantorOrCoBorrowerListAndDetail = () =>
  import('./tabsComponent/GuarantorOrCoBorrowerListAndDetail')
const GuarantorDetail = () =>
  import('./tabsComponent/GuarantorDetail')
const CounterGuarantorDetail = () => import('./tabsComponent/CounterGuarantorDetail')
const ImageMenuList = () => import('./tabsComponent/ImageMenuList')
const HouseList = () => import('./tabsComponent/HouseList')
const ApplyDetail = () => import('./tabsComponent/ApplyDetail')
const PreMerchantInterestInfo = () =>
  import('./tabsComponent/PreMerchantInterestInfo')
const PreCustomerInterestInfo = () =>
  import('./tabsComponent/PreCustomerInterestInfo')
const CreditReportList = () => import('./tabsComponent/CreditReportList')
const RiskAutoExamineDetail = () =>
  import('./tabsComponent/RiskAutoExamineDetail')
const OpinionList = () => import('./tabsComponent/OpinionList')
const FlowList = () => import('./tabsComponent/FlowList')
const CustomerHistoryApplyList = () =>
  import('./tabsComponent/CustomerHistoryApplyList')
const EdocPrint = () => import('./tabsComponent/EdocPrint')
const AcctLoan = () => import('./tabsComponent/AcctLoan')
const AcctPaymentScheduleList = () =>
  import('./tabsComponent/AcctPaymentScheduleList')
const AcctPaymentLogList = () => import('./tabsComponent/AcctPaymentLogList')
const AcctTransactionList = () => import('./tabsComponent/AcctTransactionList')
const LoanChangeList = () => import('./tabsComponent/LoanChangeList')
const AcctSubledgerDetailList = () =>
  import('./tabsComponent/AcctSubledgerDetailList')
const SellerOrBuyer = () => import('./tabsComponent/SellerOrBuyer')
const Receivable = () => import('./tabsComponent/Receivable')
const FeeSettleInfo = () => import('./tabsComponent/FeeSettleInfo')
const EnterpriseInfo = () => import('./tabsComponent/EnterpriseInfo')
const AcctPaymentInfo = () => import('./tabsComponent/AcctPaymentInfo')
const LoanEnterprise = () => import('./tabsComponent/LoanEnterprise')
const AcctReceivables = () => import('./tabsComponent/AcctReceivables')
const AcctMoneyBack = () => import('./tabsComponent/AcctMoneyBack')
const commission = () => import('./tabsComponent/commission')
const ReFactoring = () => import('./tabsComponent/ReFactoring')
const EntAlterRecord = () => import('./tabsComponent/EntAlterRecord')
const VehicleData = () => import('./tabsComponent/VehicleData')
const CheckoffCommandHisList = () => import('./tabsComponent/CheckoffCommandHisList')
const WorkRecordList = () => import('./tabsComponent/WorkRecordList')
//客服事件
const CustomerServiceRecord = () => import('./tabsComponent/CustomerServiceRecord') 
//催收事件
const OverdueDebtCollection = () => import('./tabsComponent/OverdueDebtCollection')
//审批意见
const OverdueApprovalOpinions = () => import('./tabsComponent/OverdueApprovalOpinions')
//委外信息
const OverdueEntrustExternalCom = () => import('./tabsComponent/OverdueEntrustExternalCom')
//案件起诉
const OverdueProsecutionCom = () => import('./tabsComponent/OverdueProsecutionCom')
//诉前调解
const OverdueMediationCom = () => import('./tabsComponent/OverdueMediationCom')
//法院立案
const OverdueCourtFilingCom = () => import('./tabsComponent/OverdueCourtFilingCom')
//法院判决
const OverdueJudgmentCom = () => import('./tabsComponent/OverdueJudgmentCom')
//逾期管理影像资料信息
const OverdueImageMenuList = () => import('./tabsComponent/OverdueImageMenuList')
//逾期管理回款记录
const OverduePaymentLogList = () => import('./tabsComponent/OverduePaymentLogList')
//逾期管理待完成任务
const OverdueToBeCompleted = () => import('./tabsComponent/OverdueToBeCompleted')
//逾期管理委外例外处理
const OverdueEntrustExternalException = () => import('./tabsComponent/OverdueEntrustExternalException')
 
const HeBaoApply = () => import('./tabsComponent/HeBaoApply')
 
const ShareholderInfo = () => import('./tabsComponent/ShareholderInfo') //股东信息
const PledgeInfo = () => import('./tabsComponent/PledgeInfo') //质押物信息
const CoreEnterpriseCom = () => import('./tabsComponent/CoreEnterpriseCom') //核心企业信息组件
const CreditLineInfoCom = () => import('./tabsComponent/CreditLineInfoCom') // 授信额度信息
const CostItemConfig = () => import('./tabsComponent/CostItemConfig') // 费用项配置
 
const quotaInformationCom = () => import('./tabsComponent/quotaInformationCom') // 授信额度信息
 
const BaseContractCom = () => import('./tabsComponent/BaseContractCom') //基础合同信息
// 车贷信息
const LoanVehicles = () => import('./tabsComponent/LoanVehicles')
const Collateral = () => import('./tabsComponent/Collateral')
 
const Owner = () => import('./tabsComponent/Owner')
const PyCredit = () => import('./tabsComponent/PyCredit')
//店铺订单信息
const StoreOrderInfo = () => import('./tabsComponent/StoreOrderInfo')
 
// 客户联系记录
const CustomerContactRecord = () => import('./tabsComponent/CustomerContactRecord')
// 催收函记录
const OverdueCollectionLetterRecord = () => import('./tabsComponent/OverdueCollectionLetterRecord')
// 项目基本信息
const ProjectCompanyInformation = () => import('./tabsComponent/ProjectCompanyInformation.vue')
// 项目进度信息
const ProjectProgressInformation = () => import('./tabsComponent/ProjectProgressInformation.vue')
//项目产值信息
const ProjectOutputValueInformation = () => import('./tabsComponent/ProjectOutputValueInformation.vue')
//工人信息
const ProjectWorkerInfo = () => import('./tabsComponent/ProjectWorkerInfo.vue')
//认领流水
const ProjectClaimFlow = () => import('./tabsComponent/ProjectClaimFlow.vue')
//放款明细
const ProjectDisbursementDetail = () => import('./tabsComponent/ProjectDisbursementDetail.vue')
//工友贷项目信息
const ProjectWorkerLoanInfo = () => import('./tabsComponent/ProjectWorkerLoanInfo.vue')
//银行流水信息
const ProjectBankRunningWater = () => import('./tabsComponent/ProjectBankRunningWater.vue')
//退款申请信息
const RefundApplication = () => import('./tabsComponent/RefundApplication.vue')
//主授信人信息
const MainCreditInfo = () => import('./tabsComponent/MainCreditInfo.vue')
//主授信人贷款信息
const MainCreditLoanInfo = () => import('./tabsComponent/MainCreditLoanInfo.vue')
//待认领资金
const PendingClaim = () => import('./tabsComponent/PendingClaim.vue')
//提前部分还款试算
const TrialPart = () => import('./tabsComponent/TrialPart.vue')
//提前结清
const VloanEarlySettlement = () => import('./tabsComponent/VloanEarlySettlement.vue')
//和解信息
const MainCreditReconcile = () => import('./tabsComponent/MainCreditReconcile.vue')
//主授信人借款人基本信息
const MainCreditCustomerBasicInfo = () => import('./tabsComponent/MainCreditCustomerBasicInfo.vue')
//主授信人还款计划
const MainCreditRepaymentPlan = () => import('./tabsComponent/MainCreditRepaymentPlan.vue')
//还款情况
const MainCreditRepaymentStatus = () => import('./tabsComponent/MainCreditRepaymentStatus.vue')
//履约情况
const MainCreditComplianceStatus = () => import('./tabsComponent/MainCreditComplianceStatus.vue')
//预审批信息
const PreApprovalInfo = () => import('./tabsComponent/PreApprovalInfo.vue')
//车辆详情
const VehicleDetail = () => import('./tabsComponent/VehicleDetail.vue')
export default {
  components: {
    CustomerBasicInfo,
    GuarantorOrCoBorrowerListAndDetail,
    GuarantorDetail,
    CounterGuarantorDetail,
    ImageMenuList,
    HouseList, // 物业信息
    ApplyDetail, // 贷款申请信息
    PreMerchantInterestInfo, // 预收商户贴息
    PreCustomerInterestInfo,
    CreditReportList,
    RiskAutoExamineDetail,
    OpinionList,
    FlowList,
    CustomerHistoryApplyList,
    EdocPrint,
    AcctLoan,
    AcctPaymentScheduleList,
    AcctPaymentLogList,
    AcctTransactionList,
    LoanChangeList,
    AcctSubledgerDetailList,
    SellerOrBuyer,
    Receivable,
    FeeSettleInfo,
    EnterpriseInfo,
    LoanEnterprise,
    AcctPaymentInfo,
    AcctReceivables,
    AcctMoneyBack,
    commission,
    ReFactoring,
    AcctMoneyBack,
    EntAlterRecord,
    VehicleData,
    CheckoffCommandHisList,
    WorkRecordList,
    VehicleData,
    CustomerServiceRecord,
    OverdueDebtCollection,
    OverdueApprovalOpinions,
    OverdueEntrustExternalCom,
    OverdueProsecutionCom,
    OverdueMediationCom,
    OverdueCourtFilingCom,
    OverdueJudgmentCom,
    OverdueImageMenuList,
    OverduePaymentLogList,
    OverdueToBeCompleted,
    OverdueEntrustExternalException,
    HeBaoApply,
    ShareholderInfo,
    PledgeInfo,
    CoreEnterpriseCom,
    CreditLineInfoCom,
    CostItemConfig,
    quotaInformationCom,
    BaseContractCom,
    LoanVehicles,
    Collateral,
    Owner,
    PyCredit,
    StoreOrderInfo,//店铺订单信息
    CustomerContactRecord,
    OverdueCollectionLetterRecord,
    ProjectCompanyInformation,
    ProjectProgressInformation,
    ProjectOutputValueInformation,
    ProjectWorkerInfo,
    ProjectClaimFlow,
    ProjectDisbursementDetail,
    ProjectWorkerLoanInfo,
    ProjectBankRunningWater,
    RefundApplication,
    MainCreditInfo,
    MainCreditLoanInfo,
    PendingClaim,
    TrialPart,
    VloanEarlySettlement,
    MainCreditReconcile,
    MainCreditCustomerBasicInfo,
    MainCreditRepaymentPlan,
    MainCreditRepaymentStatus,
    MainCreditComplianceStatus,
    PreApprovalInfo,
    VehicleDetail
  },
  props: {
    /**
     * 节点信息
     * @example
     * { "tabname": "借款人信息", "exist": "Y", "gray": "N", "visible": "Y" }
     */
    info: {
      type: Object,
      required: true
    },
    isKeepAlive: {
      type: Boolean,
      default: true
    }
  },
  computed: {
    relationtype() {
      let { info } = this
      let { tabname } = info
      let relationtype = '01'
      if (tabname === '担保人信息') {
        relationtype = '02'
      }
      return relationtype
    },
    componentName(item) {
      let { info } = this
      let { tabname } = info
      let tabComponent = null
 
      if (tabname === '借款人信息') {
        tabComponent = 'CustomerBasicInfo'
      }
      if (tabname === '股东信息') {
        tabComponent = 'ShareholderInfo'
      }
      if (tabname === '质押物信息') {
        tabComponent = 'PledgeInfo'
      }
      if (tabname === '核心企业信息') {
        tabComponent = 'CoreEnterpriseCom'
      }
 
      if (tabname === '授信额度信息') {
        tabComponent = 'CreditLineInfoCom'
      }
      if (tabname === '费用项配置') {
        tabComponent = 'CostItemConfig'
      }
      if (tabname === '额度信息') {
        tabComponent = 'quotaInformationCom'
      }
 
      if (tabname === '基础合同信息') {
        tabComponent = 'BaseContractCom'
      }
 
 
      // if (tabname === '共借人信息' || tabname === '担保人信息') {
      //   tabComponent = 'GuarantorOrCoBorrowerListAndDetail'
      // }
 
      if ( tabname === '担保人信息') {
        tabComponent = 'GuarantorDetail'
      }
      if ( tabname === '反担保人信息') {
        tabComponent = 'CounterGuarantorDetail'
      }
      
      if (tabname === '物业信息') {
        tabComponent = 'HouseList'
      }
 
      if (tabname === '企业信息') {
        tabComponent = 'EnterpriseInfo'
      }
 
      if (tabname === '借款企业信息') {
        tabComponent = 'LoanEnterprise'
      }
 
      if (tabname === '准入项目信息') {
        tabComponent = 'commission'
      }
 
      if (tabname === '应收账款信息') {
        tabComponent = 'AcctReceivables'
      }
 
      if (tabname === '贷款申请信息') {
        tabComponent = 'ApplyDetail'
      }
 
      if (tabname === '再保理信息') {
        tabComponent = 'ReFactoring'
      }
 
      if (tabname === '预收商户贴息') {
        tabComponent = 'PreMerchantInterestInfo'
      }
 
      if (tabname === '预收客户息费') {
        tabComponent = 'PreCustomerInterestInfo'
      }
 
      if (tabname === '主/共借人征信信息') {
        tabComponent = 'CreditReportList'
      }
 
      if (tabname === '风控审批信息') {
        tabComponent = 'RiskAutoExamineDetail'
      }
 
      if (tabname === '历史审批意见') {
        tabComponent = 'OpinionList'
      }
 
      if (tabname === '流程流转记录') {
        tabComponent = 'FlowList'
      }
 
      if (tabname === '历史贷款信息') {
        tabComponent = 'CustomerHistoryApplyList'
      }
 
      if (tabname === '电子合同信息') {
        tabComponent = 'EdocPrint'
      }
 
      if (tabname === '影像资料信息') {
        if (info.state == "OVERDUE_INFO") {
          tabComponent = 'OverdueImageMenuList'
        }else {
          tabComponent = 'ImageMenuList'
        }
      }
      if (tabname === '借据信息') {
        tabComponent = 'AcctLoan'
      }
 
      if (tabname === '还款计划') {
        tabComponent = 'AcctPaymentScheduleList'
      }
 
      if (tabname === '还款信息') {
        tabComponent = 'AcctPaymentInfo'
      }
 
      if (tabname === '回款信息') {
        tabComponent = 'AcctMoneyBack'
      }
 
      if (tabname === '还款入账记录') {
        tabComponent = 'AcctPaymentLogList'
      }
      
      if (tabname === '客户联系记录') {
        tabComponent = 'CustomerContactRecord'
      }
      if (tabname === '交易申请记录') {
        tabComponent = 'AcctTransactionList'
      }
 
      if (tabname === '会计分录信息') {
        tabComponent = 'AcctSubledgerDetailList'
      }
 
      if (tabname === '本金回款信息') {
        tabComponent = 'Receivable'
      }
 
      if (tabname === '息费结算信息') {
        tabComponent = 'FeeSettleInfo'
      }
 
      if (tabname === '贷后变更记录') {
        tabComponent = 'LoanChangeList'
      }
 
      if (tabname === '卖方信息') {
        tabComponent = 'SellerOrBuyer'
      }
 
      if (tabname === '买方信息') {
        tabComponent = 'SellerOrBuyer'
      }
 
      if (tabname === '企业信息变更记录') {
        tabComponent = 'EntAlterRecord'
      }
 
      if (tabname === '车辆信息') {
        tabComponent = 'VehicleData'
      }
 
      if (tabname === '还款记录') {
        tabComponent = 'CheckoffCommandHisList'
      }
      if (tabname === '催收记录') {
        tabComponent = 'WorkRecordList'
      }
 
      if (tabname === '客服事件') {
        tabComponent = 'CustomerServiceRecord'
      }
      if (tabname === '催收事件') {
        tabComponent = 'OverdueDebtCollection'
      }
      if (tabname === '审批意见') {
        tabComponent = 'OverdueApprovalOpinions'
      }
      if (tabname === '委外信息') {
        tabComponent = 'OverdueEntrustExternalCom'
      }
      if (tabname === '案件起诉') {
        tabComponent = 'OverdueProsecutionCom'
      }
      if (tabname === '诉前调解信息') {
        tabComponent = 'OverdueMediationCom'
      }
      if (tabname === '法院立案') {
        tabComponent = 'OverdueCourtFilingCom'
      }
      if (tabname === '法院判决') {
        tabComponent = 'OverdueJudgmentCom'
      }
      if (tabname === '回款记录') {
        tabComponent = 'OverduePaymentLogList'
      }
      if (tabname === '待完成任务') {
        tabComponent = 'OverdueToBeCompleted'
      }
      if (tabname === '委外例外处理') {
        tabComponent = 'OverdueEntrustExternalException'
      }
      if (tabname === '催收函记录') {
        tabComponent = 'OverdueCollectionLetterRecord'
      }
      if (tabname === '和包申请信息') {
        tabComponent = 'HeBaoApply'
      }
 
      if (tabname === '贷款车辆信息') {
        tabComponent = 'LoanVehicles'
      }
 
      if (tabname === '抵押物信息') {
        tabComponent = 'Collateral'
      }
 
      if (tabname === '沃土信息') {
        tabComponent = 'Owner'
      }
 
      if (tabname === '征信信息') {
        tabComponent = 'PyCredit'
      }
      if (tabname === '店铺订单信息') {
        tabComponent = 'StoreOrderInfo'
      }
      if (tabname === '项目基本信息') {
        tabComponent = 'ProjectCompanyInformation'
      }
      if (tabname === '项目进度信息') {
        tabComponent = 'ProjectProgressInformation'
      }
      if (tabname === '项目产值信息') {
        tabComponent = 'ProjectOutputValueInformation'
      }
      if (tabname === '工人信息') {
        tabComponent = 'ProjectWorkerInfo'
      }
      if (tabname === '认领流水') {
        tabComponent = 'ProjectClaimFlow'
      }
      if (tabname === '放款明细' || tabname === '保证金使用明细') {
        tabComponent = 'ProjectDisbursementDetail'
      }
      if (tabname === '项目信息') {
        tabComponent = 'ProjectWorkerLoanInfo'
      }
      if (tabname === '银行流水信息') {
        tabComponent = 'ProjectBankRunningWater'
      }
      if (tabname === '退款申请信息') {
        tabComponent = 'RefundApplication'
      }
      if (tabname === '主授信人信息') {
        tabComponent = 'MainCreditInfo'
      }
      if (tabname === '主授信人贷款信息') {
        tabComponent = 'MainCreditLoanInfo'
      }
      if (tabname === '待认领资金') {
        tabComponent = 'PendingClaim'
      }
      if (tabname === '提前部分还款试算') {
        tabComponent = 'TrialPart'
      }
      if (tabname === '结清信息') {
        tabComponent = 'VloanEarlySettlement'
      }
      if (tabname === '和解信息') {
        tabComponent = 'MainCreditReconcile'
      }
      if (tabname === '借款人基本信息') {
        tabComponent = 'MainCreditCustomerBasicInfo'
      }
      if (tabname === '主授信人还款计划') {
        tabComponent = 'MainCreditRepaymentPlan'
      }
      if (tabname === '还款情况') {
        tabComponent = 'MainCreditRepaymentStatus'
      }
      if (tabname === '履约情况') {
        tabComponent = 'MainCreditComplianceStatus'
      }
      if (tabname === '预审批信息') {
        tabComponent = 'PreApprovalInfo'
      }
      if (tabname === '车辆详情') {
        tabComponent = 'VehicleDetail'
      }
      return tabComponent
    },
    sellerOrBuyer() {
      let { info } = this
      let { tabname } = info
      let result = ''
      if (tabname === '卖方信息') {
        result = '01'
      }
 
      if (tabname === '买方信息') {
        result = '02'
      }
      return result
    }
  }
}
</script>
<style lang="postcss" scoped>
</style>