doctor-admin-components 1.0.14-beta.7 → 1.0.14-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/packages/src/views/biz/bizFileInfo/contract.vue +440 -330
- package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +9 -7
- package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +18 -5
- package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +11 -3
- package/packages/src/views/biz/bizFileInfo/fileShow.vue +6 -2
- package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +3 -75
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
<div style="height: 100%;width: 100%;overflow: hidden;">
|
|
3
|
+
<!--合同 装运 收获 进度显示 -->
|
|
4
|
+
<div class="progress-root">
|
|
5
|
+
<div @click="handleScroll('contract_top_id')">
|
|
5
6
|
<Progress :infoPro="contractProgressInfo"></Progress>
|
|
6
|
-
<Progress :infoPro="shipProgressInfo"></Progress>
|
|
7
|
-
<Progress :infoPro="getGoodsProgressInfo"></Progress>
|
|
8
7
|
</div>
|
|
8
|
+
<div @click="handleScroll('contract_shipping_id')">
|
|
9
|
+
<Progress :infoPro="shipProgressInfo"></Progress>
|
|
10
|
+
</div>
|
|
11
|
+
<div @click="handleScroll('contract_receiving_id')">
|
|
12
|
+
<Progress :infoPro="getGoodsProgressInfo"></Progress>
|
|
13
|
+
</div>
|
|
14
|
+
<!-- 选择项 -->
|
|
15
|
+
<div class="selection-root" v-if="selectFileList.length > 0" style="background-color: rgb(237, 247, 255); border-radius: 18px;padding: 5px 12px;">
|
|
16
|
+
<span style="color: #54B8FF; font-weight: bold;">{{ $t('contractDetail.Selected') }} {{ selectFileList.length }} {{ $t('contractDetail.item') }}</span>
|
|
17
|
+
<div class="border-button border-button-blue" @click.stop="cancelAll">{{ $t('contractDetail.Deselect') }}</div>
|
|
18
|
+
<div class="border-button border-button-blue" @click.stop="downLoadAll">{{ $t('contractDetail.Download_All') }}</div>
|
|
19
|
+
<div class="border-button border-button-blue" @click.stop="deleteAll">{{ $t('contractDetail.Delete_All') }}</div>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="app-container-file" style="padding: 0 20px;overflow-y: scroll;height: calc(100% - 60px)" v-if="linkId">
|
|
9
23
|
<!-- 合同 -->
|
|
10
|
-
<div
|
|
24
|
+
<div id="contract_top_id">
|
|
11
25
|
<SectionSlot :infoPro="contractProgressInfo">
|
|
12
26
|
<template v-slot:header>
|
|
13
27
|
<div>
|
|
@@ -17,55 +31,55 @@
|
|
|
17
31
|
<template v-slot:content>
|
|
18
32
|
<div class="content-root">
|
|
19
33
|
<!-- 提单指令 -->
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<
|
|
26
|
-
|
|
34
|
+
<div class="content-root-row">
|
|
35
|
+
<ContentTitle :contentTitleProp="{
|
|
36
|
+
bgButton: $t('contractDetail.blInfo'),
|
|
37
|
+
bgTime: personalBillFileInfo && timeFormate(personalBillFileInfo),
|
|
38
|
+
}"></ContentTitle>
|
|
39
|
+
<span v-if="contract.dealId" class="bg-history" @click="handleHistory('deal_bill,personal_deal_bill', contract.dealId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
40
|
+
</div>
|
|
41
|
+
<!-- 一个采购合同关联多个销售合 -->
|
|
42
|
+
<div v-for="(fileInfo, index) in contractFileInfo.bliFileInfoList" :key="'contract_'+index">
|
|
43
|
+
<el-col :span="24">
|
|
44
|
+
<div class="sub-title">{{ $t("contractDetail.blInfo") }}_{{ fileInfo.buyerContractCompanyName }}</div>
|
|
45
|
+
</el-col>
|
|
46
|
+
<el-col :span="12">
|
|
47
|
+
<div class="file-list" v-if="getLastFileByList(fileInfo.latestBillFileInfo)">
|
|
48
|
+
<file-show
|
|
49
|
+
:hiddenOperation="channel == 'official-website'"
|
|
50
|
+
@refresh="handleRefresh"
|
|
51
|
+
@checked="handleChecked"
|
|
52
|
+
@uncheck="handleUncheck"
|
|
53
|
+
:selectFileListProp="selectFileList"
|
|
54
|
+
:fileInfo="
|
|
55
|
+
getLastFileByList(fileInfo.latestBillFileInfo)
|
|
56
|
+
"
|
|
57
|
+
/>
|
|
58
|
+
</div>
|
|
27
59
|
<div class="file-list">
|
|
28
|
-
<file-show
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
60
|
+
<file-show
|
|
61
|
+
:hiddenOperation="channel == 'official-website'"
|
|
62
|
+
@refresh="handleRefresh" @checked="handleChecked" @uncheck="handleUncheck" :selectFileListProp="selectFileList" :file-info="item"
|
|
63
|
+
v-for="(item, i) in fileInfo.personalBillFileInfo" :key="i" />
|
|
64
|
+
<contract-file-drag-upload
|
|
65
|
+
v-show="(!fileInfo.personalBillFileInfo || fileInfo.personalBillFileInfo.length == 0) && channel !== 'official-website'"
|
|
66
|
+
@upload="
|
|
67
|
+
handleUpload(
|
|
68
|
+
$event,
|
|
69
|
+
contract.dealId,
|
|
70
|
+
'dealRecord',
|
|
71
|
+
'personal_deal_bill'
|
|
72
|
+
)"
|
|
73
|
+
:isShowTip="false"
|
|
74
|
+
:uploadNameStr="$t('contractDetail.blInfo')" />
|
|
38
75
|
</div>
|
|
39
|
-
</
|
|
40
|
-
<
|
|
41
|
-
<
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
<contract-file-drag-upload
|
|
46
|
-
v-show="(!contractFileInfo.personalBillFileInfo || contractFileInfo.personalBillFileInfo.length == 0) && channel !== 'official-website'"
|
|
47
|
-
@upload="
|
|
48
|
-
handleUpload(
|
|
49
|
-
$event,
|
|
50
|
-
contract.dealId,
|
|
51
|
-
'dealRecord',
|
|
52
|
-
'personal_deal_bill'
|
|
53
|
-
)
|
|
54
|
-
":isShowTip="false"
|
|
55
|
-
:uploadNameStr="$t('contractDetail.blInfo')" />
|
|
56
|
-
</div>
|
|
57
|
-
</el-col>
|
|
58
|
-
<el-col :span="12">
|
|
76
|
+
</el-col>
|
|
77
|
+
<el-col :span="12" class="center-status">
|
|
78
|
+
<i :class="fileInfo.blConfirmFlag ? 'el-icon-success success' : 'el-icon-time'"></i>
|
|
79
|
+
{{ fileInfo.blConfirmFlag ? $t('contractDetail.bl_confirm_true') : $t('contractDetail.blInfo_unconfirm') }}
|
|
80
|
+
</el-col>
|
|
81
|
+
</div>
|
|
59
82
|
|
|
60
|
-
</el-col>
|
|
61
|
-
<el-col :span="12" v-if="contractFileInfo.bliConfirmFlag" class="center-status">
|
|
62
|
-
<i class="el-icon-success success"></i>
|
|
63
|
-
{{ $t('contractDetail.bl_confirm_true') }}
|
|
64
|
-
</el-col>
|
|
65
|
-
<el-col :span="12" v-else class="center-status">
|
|
66
|
-
<i class="el-icon-time"></i>
|
|
67
|
-
{{ $t('contractDetail.blInfo_unconfirm') }}
|
|
68
|
-
</el-col>
|
|
69
83
|
<!-- 销售合同-回签合同 -->
|
|
70
84
|
<el-col :span="24">
|
|
71
85
|
<div class="hr-class"></div>
|
|
@@ -79,7 +93,7 @@
|
|
|
79
93
|
: $t('contractDetail.purchaseContract'),
|
|
80
94
|
bgTime:contractFileInfo.latestContractFileInfo && timeFormate(contractFileInfo.latestContractFileInfo)
|
|
81
95
|
}"></ContentTitle>
|
|
82
|
-
<span class="bg-history" @click="handleHistory('contract_formal')">{{ $t('contractDetail.view_history') }}</span>
|
|
96
|
+
<span class="bg-history" @click="handleHistory('contract_draft,contract_formal,contract_sign', linkId)">{{ $t('contractDetail.view_history') }}</span>
|
|
83
97
|
</div>
|
|
84
98
|
</el-col>
|
|
85
99
|
<el-col :span="12" v-if="contractFileInfo.signContractFileInfo && contractFileInfo.signContractFileInfo.length">
|
|
@@ -138,7 +152,8 @@
|
|
|
138
152
|
bgTime:contractFileInfo.proformaInvoiceFileInfo && timeFormate(contractFileInfo.proformaInvoiceFileInfo) || contractFileInfo.personalProformaInvoiceFileInfo && timeFormate(contractFileInfo.personalProformaInvoiceFileInfo)
|
|
139
153
|
}">
|
|
140
154
|
</ContentTitle>
|
|
141
|
-
<span class="bg-history"
|
|
155
|
+
<span class="bg-history" @click="handleHistory('personal_proforma_invoice,proforma_invoice', contractFileInfo.proformaInvoice.id)">{{ $t('contractDetail.view_history') }}</span>
|
|
156
|
+
<span class="bg-history" style="padding-left: 20px;" v-if="channel !== 'official-website'" @click="skipInvoiceList">{{ $t('contractDetail.invoice_list') }}</span>
|
|
142
157
|
</div>
|
|
143
158
|
</el-col>
|
|
144
159
|
<!-- 支付凭证 -->
|
|
@@ -283,10 +298,13 @@
|
|
|
283
298
|
<div class="hr-class"></div>
|
|
284
299
|
</el-col>
|
|
285
300
|
<el-col :span="24">
|
|
286
|
-
<
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
301
|
+
<div class="content-root-row">
|
|
302
|
+
<ContentTitle :contentTitleProp="{
|
|
303
|
+
bgButton: $t('contractDetail.otherFile'),
|
|
304
|
+
bgTime: contract.contractType == 'sale' ? contractFileInfo.saleContractOtherFile && timeFormate(contractFileInfo.saleContractOtherFile) : contractFileInfo.purchaseContractOtherFile && timeFormate(contractFileInfo.purchaseContractOtherFile)
|
|
305
|
+
}"></ContentTitle>
|
|
306
|
+
<span class="bg-history" @click="handleHistory(contract.contractType == 'sale' ? 'sale_contract_other_file' : 'purchase_contract_other_file', linkId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
307
|
+
</div>
|
|
290
308
|
</el-col>
|
|
291
309
|
<el-col :span="24">
|
|
292
310
|
<!-- 销售-其他文件 -->
|
|
@@ -319,33 +337,40 @@
|
|
|
319
337
|
/>
|
|
320
338
|
</div>
|
|
321
339
|
</el-col>
|
|
340
|
+
<el-col :span="24" v-if="channel !== 'official-website'" style="padding-top: 20px;">
|
|
341
|
+
<span>内部文件夹</span>
|
|
342
|
+
<div class="file-list">
|
|
343
|
+
<file-show @refresh="handleRefresh" @checked="handleChecked" :hiddenOperation="channel == 'official-website'" @uncheck="handleUncheck" :selectFileListProp="selectFileList" :file-info="item"
|
|
344
|
+
v-for="(item, i) in contractFileInfo.contractInternalFile" :key="i" />
|
|
345
|
+
<contract-file-drag-upload
|
|
346
|
+
@upload="
|
|
347
|
+
handleUpload(
|
|
348
|
+
$event,
|
|
349
|
+
contract.contractId,
|
|
350
|
+
'contract',
|
|
351
|
+
'contract_internal_file'
|
|
352
|
+
)"
|
|
353
|
+
:isShowTip="false" uploadNameStr="内部文件" />
|
|
354
|
+
</div>
|
|
355
|
+
</el-col>
|
|
322
356
|
</div>
|
|
323
357
|
</template>
|
|
324
358
|
</SectionSlot>
|
|
325
359
|
</div>
|
|
326
|
-
<!--
|
|
327
|
-
<
|
|
328
|
-
<BillOfLadingNoTab
|
|
360
|
+
<!-- 提单号分栏 -->
|
|
361
|
+
<BillOfLadingNoTab
|
|
329
362
|
:contractFileInfo="contractFileInfo"
|
|
330
363
|
@changeShipBillNo="changeShipBillNo"
|
|
331
364
|
:progressInfo="shipProgressInfo"
|
|
332
365
|
:shipBillNoProp="shipBillNo"
|
|
333
366
|
></BillOfLadingNoTab>
|
|
367
|
+
<!-- 装运 -->
|
|
368
|
+
<div id="contract_shipping_id">
|
|
334
369
|
<!-- 生成装运 -->
|
|
335
|
-
<SectionSlot :infoPro="shipProgressInfo" v-if="contractFileInfo && !contractFileInfo.shipmentFileInfoList">
|
|
370
|
+
<SectionSlot @updateOpen="handleShippingUpdateOpen" :infoPro="shipProgressInfo" v-if="contractFileInfo && !contractFileInfo.shipmentFileInfoList">
|
|
336
371
|
<template v-slot:header>
|
|
337
372
|
<div style="position:relative">
|
|
338
373
|
<ProgressDetail :infoPro="shipProgressInfo"></ProgressDetail>
|
|
339
|
-
<!-- <div class="addshipment" @click.stop="handleGenerate"
|
|
340
|
-
v-if="
|
|
341
|
-
channel !== 'official-website' && contract.contractType == 'sale'
|
|
342
|
-
"
|
|
343
|
-
>生成装运</div> -->
|
|
344
|
-
<!-- <div class="addshipment" @click.stop="handleGeneratePurchase"
|
|
345
|
-
v-if="
|
|
346
|
-
channel !== 'official-website' && contract.contractType == 'purchase'
|
|
347
|
-
"
|
|
348
|
-
>{{ $t("contractDetail.Generate_shipment") }}</div> -->
|
|
349
374
|
</div>
|
|
350
375
|
</template>
|
|
351
376
|
<template v-slot:content>
|
|
@@ -363,22 +388,12 @@
|
|
|
363
388
|
</template>
|
|
364
389
|
</SectionSlot>
|
|
365
390
|
<div v-else>
|
|
366
|
-
<SectionSlot :infoPro="shipProgressInfo" v-for="(
|
|
391
|
+
<SectionSlot @updateOpen="handleShippingUpdateOpen" :infoPro="shipProgressInfo" v-for="(
|
|
367
392
|
shipmentFileInfo, shipmentIndex
|
|
368
393
|
) in contractFileInfo.shipmentFileInfoList" :key="shipmentIndex" v-if="shipmentIndex == shipBillNo">
|
|
369
394
|
<template v-slot:header>
|
|
370
395
|
<div style="position:relative">
|
|
371
396
|
<ProgressDetail :infoPro="shipProgressInfo"></ProgressDetail>
|
|
372
|
-
<!-- <div class="addshipment" @click.stop="handleGenerate"
|
|
373
|
-
v-if="
|
|
374
|
-
channel !== 'official-website' && contract.contractType == 'sale'
|
|
375
|
-
"
|
|
376
|
-
>增加装运</div> -->
|
|
377
|
-
<!-- <div class="addshipment" @click.stop="handleGeneratePurchase"
|
|
378
|
-
v-if="
|
|
379
|
-
channel !== 'official-website' && contract.contractType == 'purchase'
|
|
380
|
-
"
|
|
381
|
-
>{{ $t('contractDetail.add_shipment') }}</div> -->
|
|
382
397
|
</div>
|
|
383
398
|
</template>
|
|
384
399
|
<template v-slot:content>
|
|
@@ -407,48 +422,101 @@
|
|
|
407
422
|
<div class="preview-download" @click="editShipment(shipmentItemData)">{{ $t('contractDetail.edit_shipment') }}</div>
|
|
408
423
|
</div>
|
|
409
424
|
<!-- 订舱资料 -->
|
|
410
|
-
<
|
|
425
|
+
<div class="content-root-row">
|
|
426
|
+
<ContentTitle :contentTitleProp="{
|
|
411
427
|
bgButton: $t('contractDetail.bookingConfirmation'),
|
|
412
428
|
bgTime: shipmentFileInfo.bookingConfirmation && timeFormate(shipmentFileInfo.bookingConfirmation),
|
|
413
429
|
bgcolor: shipProgressInfo.bgcolor
|
|
414
|
-
|
|
415
430
|
}">
|
|
416
431
|
</ContentTitle>
|
|
417
|
-
<
|
|
418
|
-
</
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
432
|
+
<span class="bg-history" v-if="channel !== 'official-website'" @click="handleHistory(contract.contractType == 'sale' ? 'shipment_booking_confirmation,sale_shipment_internal_file' : 'shipment_booking_confirmation,purchase_shipment_internal_file', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
433
|
+
<span class="bg-history" v-else @click="handleHistory('shipment_booking_confirmation', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
434
|
+
</div>
|
|
435
|
+
<el-row>
|
|
436
|
+
<el-col :span="24">
|
|
437
|
+
<div class="file-list">
|
|
438
|
+
<el-col v-if=" contract.contractType == 'sale' && (!shipmentFileInfo.bookingConfirmation || shipmentFileInfo.bookingConfirmation && shipmentFileInfo.bookingConfirmation.length == 0)" :span="12" class="center-status">
|
|
439
|
+
<i class="el-icon-time"></i>
|
|
440
|
+
{{ $t('contractDetail.Booking_information_to_be_updated') }}
|
|
441
|
+
</el-col>
|
|
442
|
+
<file-show @refresh="handleRefresh" @checked="handleChecked" :hiddenOperation="channel == 'official-website'" @uncheck="handleUncheck" :selectFileListProp="selectFileList" :file-info="item"
|
|
443
|
+
v-for="(item, i) in shipmentFileInfo.bookingConfirmation" :key="i" />
|
|
444
|
+
<!-- 6. 销售去掉订舱资料上传功能 https://udswem7m8c.feishu.cn/wiki/Tm4SwKcqviRkTUkKNCxc2bnBnVb -->
|
|
445
|
+
<contract-file-drag-upload
|
|
446
|
+
v-if="channel !== 'official-website' && contract.contractType == 'purchase'"
|
|
447
|
+
@upload="
|
|
448
|
+
handleUpload(
|
|
449
|
+
$event,
|
|
450
|
+
shipmentFileInfo.shipmentId,
|
|
451
|
+
'shipment',
|
|
452
|
+
'shipment_booking_confirmation'
|
|
453
|
+
)
|
|
454
|
+
" :isShowTip="false" :uploadNameStr="$t('contractDetail.bookingConfirmation')" />
|
|
455
|
+
</div>
|
|
456
|
+
</el-col>
|
|
457
|
+
</el-row>
|
|
458
|
+
|
|
459
|
+
<el-row v-if="channel !== 'official-website'" style="padding-top: 20px;">
|
|
460
|
+
<el-col :span="24">
|
|
461
|
+
<span>内部文件夹</span>
|
|
462
|
+
<div class="file-list" v-if="contract.contractType == 'purchase'">
|
|
463
|
+
<file-show
|
|
464
|
+
@refresh="handleRefresh"
|
|
465
|
+
@checked="handleChecked"
|
|
466
|
+
:hiddenOperation="channel == 'official-website'"
|
|
467
|
+
@uncheck="handleUncheck"
|
|
468
|
+
:selectFileListProp="selectFileList"
|
|
469
|
+
:file-info="item"
|
|
470
|
+
v-for="(item, i) in shipmentFileInfo.purchaseShipmentInternalFile" :key="i" />
|
|
471
|
+
<contract-file-drag-upload
|
|
472
|
+
@upload="
|
|
473
|
+
handleUpload(
|
|
474
|
+
$event,
|
|
475
|
+
shipmentFileInfo.shipmentId,
|
|
476
|
+
'shipment',
|
|
477
|
+
'purchase_shipment_internal_file'
|
|
478
|
+
)"
|
|
479
|
+
:isShowTip="false" uploadNameStr="内部文件" />
|
|
480
|
+
</div>
|
|
481
|
+
|
|
482
|
+
<div class="file-list" v-else>
|
|
483
|
+
<file-show
|
|
484
|
+
@refresh="handleRefresh"
|
|
485
|
+
@checked="handleChecked"
|
|
486
|
+
:hiddenOperation="channel == 'official-website'"
|
|
487
|
+
@uncheck="handleUncheck"
|
|
488
|
+
:selectFileListProp="selectFileList"
|
|
489
|
+
:file-info="item"
|
|
490
|
+
v-for="(item, i) in shipmentFileInfo.saleShipmentInternalFile" :key="i" />
|
|
491
|
+
<contract-file-drag-upload
|
|
492
|
+
@upload="
|
|
493
|
+
handleUpload(
|
|
494
|
+
$event,
|
|
495
|
+
shipmentFileInfo.shipmentId,
|
|
496
|
+
'shipment',
|
|
497
|
+
'sale_shipment_internal_file'
|
|
498
|
+
)"
|
|
499
|
+
:isShowTip="false" uploadNameStr="内部文件" />
|
|
500
|
+
</div>
|
|
501
|
+
|
|
502
|
+
</el-col>
|
|
503
|
+
</el-row>
|
|
504
|
+
|
|
440
505
|
<el-col :span="24">
|
|
441
506
|
<div class="hr-class"></div>
|
|
442
507
|
</el-col>
|
|
508
|
+
|
|
443
509
|
<!-- 装箱单 -->
|
|
444
|
-
<
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
510
|
+
<el-row>
|
|
511
|
+
<el-col :span="24">
|
|
512
|
+
<div class="content-root-row">
|
|
513
|
+
<ContentTitle :contentTitleProp="{
|
|
514
|
+
bgButton: $t('contractDetail.packingList'),
|
|
515
|
+
bgTime: contract.contractType == 'purchase' ? shipmentFileInfo.purchasePersonalPackingList && timeFormate(shipmentFileInfo.purchasePersonalPackingList) : shipmentFileInfo.packingList && timeFormate(shipmentFileInfo.packingList),
|
|
516
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
517
|
+
}"></ContentTitle>
|
|
518
|
+
<span class="bg-history" @click="handleHistory('purchase_personal_shipment_packing_list', shipmentFileInfo.shipmentId)">{{ $t('contractDetail.view_history') }}</span>
|
|
519
|
+
<div class="sub-title" style="margin-bottom: 0;" v-if="contract.contractType == 'purchase'">
|
|
452
520
|
<span style="color: #1890ff; cursor: pointer" v-if="shipmentFileInfo &&
|
|
453
521
|
shipmentFileInfo.purchasePersonalPackingList &&
|
|
454
522
|
shipmentFileInfo.purchasePersonalPackingList[0] &&
|
|
@@ -465,41 +533,49 @@
|
|
|
465
533
|
shipmentFileInfo && shipmentFileInfo.shipmentId,
|
|
466
534
|
'packing'
|
|
467
535
|
)
|
|
468
|
-
">
|
|
536
|
+
">
|
|
537
|
+
<el-divider direction="vertical"></el-divider>
|
|
538
|
+
{{ identify }}
|
|
469
539
|
</span>
|
|
470
540
|
</div>
|
|
471
|
-
|
|
541
|
+
</div>
|
|
542
|
+
</el-col>
|
|
543
|
+
</el-row>
|
|
544
|
+
<el-row v-if="contract.contractType == 'purchase'">
|
|
545
|
+
<div>
|
|
546
|
+
<ShowAndHide :dataInfoArr="shipmentFileInfo.purchasePersonalPackingList" heightStr="94px" :HideAmount="2">
|
|
472
547
|
<template>
|
|
473
|
-
<
|
|
474
|
-
<
|
|
475
|
-
|
|
476
|
-
<
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
548
|
+
<div style="display: flex; justify-content: space-between;width: 100%;">
|
|
549
|
+
<el-col :span="12" v-if="shipmentFileInfo.purchasePersonalPackingList && shipmentFileInfo.purchasePersonalPackingList.length > 0">
|
|
550
|
+
<div class="file-list">
|
|
551
|
+
<file-show :hiddenOperation=" channel == 'official-website'" @refresh="handleRefresh"
|
|
552
|
+
@checked="handleChecked" @uncheck="handleUncheck" :selectFileListProp="selectFileList" :file-info="item" v-for="(
|
|
553
|
+
item, i
|
|
554
|
+
) in shipmentFileInfo.purchasePersonalPackingList" :key="i" />
|
|
555
|
+
</div>
|
|
556
|
+
</el-col>
|
|
557
|
+
<el-col :span="12">
|
|
558
|
+
<div class="file-list">
|
|
559
|
+
<contract-file-drag-upload
|
|
560
|
+
@upload="handleUpload(
|
|
561
|
+
$event,
|
|
562
|
+
shipmentFileInfo.shipmentId,
|
|
563
|
+
'shipment',
|
|
564
|
+
'purchase_personal_shipment_packing_list'
|
|
565
|
+
)"
|
|
566
|
+
:isShowTip="false"
|
|
567
|
+
:uploadNameStr="$t('contractDetail.packingList')"
|
|
568
|
+
/>
|
|
569
|
+
</div>
|
|
570
|
+
</el-col>
|
|
571
|
+
</div>
|
|
496
572
|
</template>
|
|
497
573
|
</ShowAndHide>
|
|
498
574
|
</div>
|
|
499
575
|
</el-row>
|
|
500
576
|
<el-row v-if="contract.contractType == 'sale'">
|
|
501
577
|
<div>
|
|
502
|
-
<ShowAndHide :dataInfoArr="shipmentFileInfo.packingList || []" heightStr="
|
|
578
|
+
<ShowAndHide :dataInfoArr="shipmentFileInfo.packingList || []" heightStr="94px" :HideAmount="2">
|
|
503
579
|
<el-col :span="24">
|
|
504
580
|
<div class="file-list">
|
|
505
581
|
<el-col :span="12" v-if="!shipmentFileInfo.packingList || shipmentFileInfo.packingList.length == 0" class="center-status">
|
|
@@ -542,14 +618,15 @@
|
|
|
542
618
|
bgTime: containerFile.packingPhoto && timeFormate(containerFile.packingPhoto),
|
|
543
619
|
bgcolor: shipProgressInfo.bgcolor
|
|
544
620
|
}"></ContentTitle>
|
|
621
|
+
<span class="bg-history" @click="handleHistory('container_packing_photo', containerFile.containerId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
545
622
|
<div v-if="containerFile && containerFile.packingPhoto.length" style="display:flex">
|
|
546
|
-
<!-- <div style="display:flex"> -->
|
|
547
|
-
<div class="border-button" @click.stop="allSelectContainerPackingPhoto(containerFile.containerId)">
|
|
548
|
-
{{ $t('contractDetail.select_all') }} </div>
|
|
549
|
-
<div class="border-button" @click.stop="cancelContainerPackingPhoto(containerFile.containerId)">{{ $t('contractDetail.Deselect') }}
|
|
550
|
-
</div>
|
|
551
623
|
<div class="border-button border-button-share"
|
|
552
|
-
@click.stop="shareContainerUrl(containerFile.containerId)">{{ $t('contractDetail.share') }}
|
|
624
|
+
@click.stop="shareContainerUrl(containerFile.containerId)">{{ $t('contractDetail.share') }}
|
|
625
|
+
</div>
|
|
626
|
+
<el-divider direction="vertical"></el-divider>
|
|
627
|
+
<div :class="hasSelectAllContainer(containerFile.containerId) ? 'border-button' : 'border-button border-button-blue'" @click.stop="clickSelectAllContainer(containerFile.containerId)">
|
|
628
|
+
{{ hasSelectAllContainer(containerFile.containerId) ? $t('contractDetail.select_all') : $t('contractDetail.Deselect') }}
|
|
629
|
+
</div>
|
|
553
630
|
</div>
|
|
554
631
|
</div>
|
|
555
632
|
</el-col>
|
|
@@ -586,30 +663,28 @@
|
|
|
586
663
|
<div class="hr-class"></div>
|
|
587
664
|
</el-col>
|
|
588
665
|
<el-col :span="24" style="display:flex;align-items:center">
|
|
589
|
-
<
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
666
|
+
<div class="content-root-row">
|
|
667
|
+
<ContentTitle :contentTitleProp="{
|
|
668
|
+
bgButton: $t('contractDetail.draftBillOfLading'),
|
|
669
|
+
bgTime: shipmentFileInfo.draftBillOfLading && timeFormate(shipmentFileInfo.draftBillOfLading),
|
|
670
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
671
|
+
}"></ContentTitle>
|
|
672
|
+
<span class="bg-history" @click="handleHistory('draft_bill_of_lading', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
673
|
+
</div>
|
|
674
|
+
|
|
675
|
+
<span
|
|
595
676
|
style="color: #1890ff; cursor: pointer;font-size:14px"
|
|
596
|
-
v-if="
|
|
597
|
-
shipmentFileInfo &&
|
|
598
|
-
shipmentFileInfo.draftBillOfLading &&
|
|
599
|
-
shipmentFileInfo.draftBillOfLading[0] &&
|
|
600
|
-
shipmentFileInfo.draftBillOfLading[0].url
|
|
601
|
-
"
|
|
677
|
+
v-if="draftBillOfLadingUrl(shipmentFileInfo)"
|
|
602
678
|
@click="
|
|
603
679
|
identifyPage(
|
|
604
|
-
shipmentFileInfo
|
|
605
|
-
shipmentFileInfo.draftBillOfLading &&
|
|
606
|
-
shipmentFileInfo.draftBillOfLading[0] &&
|
|
607
|
-
shipmentFileInfo.draftBillOfLading[0].url,
|
|
680
|
+
draftBillOfLadingUrl(shipmentFileInfo),
|
|
608
681
|
shipmentFileInfo && shipmentFileInfo.shipmentId,
|
|
609
682
|
'draft_bill'
|
|
610
683
|
)
|
|
611
684
|
"
|
|
612
|
-
>
|
|
685
|
+
>
|
|
686
|
+
<el-divider direction="vertical"></el-divider>
|
|
687
|
+
{{ identify }}</span>
|
|
613
688
|
</el-col>
|
|
614
689
|
<el-col :span="24">
|
|
615
690
|
<el-col :span="12">
|
|
@@ -659,11 +734,14 @@
|
|
|
659
734
|
<div class="hr-class"></div>
|
|
660
735
|
</el-col>
|
|
661
736
|
<el-col :span="24">
|
|
662
|
-
<
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
737
|
+
<div class="content-root-row">
|
|
738
|
+
<ContentTitle :contentTitleProp="{
|
|
739
|
+
bgButton: $t('contractDetail.Copy_of_formal_bill_of_lading'),
|
|
740
|
+
bgTime: shipmentFileInfo.originalBillOfLadingCopy && timeFormate(shipmentFileInfo.originalBillOfLadingCopy),
|
|
741
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
742
|
+
}"></ContentTitle>
|
|
743
|
+
<span class="bg-history" @click="handleHistory('original_bill_of_lading_copy', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
744
|
+
</div>
|
|
667
745
|
</el-col>
|
|
668
746
|
<el-col :span="24">
|
|
669
747
|
<div class="file-list">
|
|
@@ -693,11 +771,14 @@
|
|
|
693
771
|
<div class="hr-class"></div>
|
|
694
772
|
</el-col>
|
|
695
773
|
<el-col :span="24" v-if="contract.quoteType != 'FIXED'">
|
|
696
|
-
<
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
774
|
+
<div class="content-root-row">
|
|
775
|
+
<ContentTitle :contentTitleProp="{
|
|
776
|
+
bgButton: $t('contractDetail.saleTemporaryFinallyInvoice'),
|
|
777
|
+
bgTime: shipmentFileInfo.salePersonalTemporaryFinallyInvoice && timeFormate(shipmentFileInfo.salePersonalTemporaryFinallyInvoice),
|
|
778
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
779
|
+
}"></ContentTitle>
|
|
780
|
+
<span class="bg-history" @click="handleHistory(contract.contractType == 'sale' ? 'sale_personal_temporary_finally_invoice' : 'purchase_temporary_finally_invoice', shipmentFileInfo.shipmentId)">{{ $t('contractDetail.view_history') }}</span>
|
|
781
|
+
</div>
|
|
701
782
|
<div class="sub-title">
|
|
702
783
|
<span
|
|
703
784
|
v-if="
|
|
@@ -706,7 +787,9 @@
|
|
|
706
787
|
"
|
|
707
788
|
style="color: #1890ff; cursor: pointer; margin-left: 10px"
|
|
708
789
|
@click.stop="identifyPageBoth(shipmentFileInfo, 1)"
|
|
709
|
-
>
|
|
790
|
+
>
|
|
791
|
+
<el-divider direction="vertical"></el-divider>
|
|
792
|
+
{{ identify }}</span>
|
|
710
793
|
</div>
|
|
711
794
|
<el-col :span="12" v-if="channel == 'official-website' && shipmentFileInfo.salePersonalTemporaryFinallyInvoice && shipmentFileInfo.salePersonalTemporaryFinallyInvoice.length == 0" class="center-status">
|
|
712
795
|
<i class="el-icon-time"></i>
|
|
@@ -738,8 +821,8 @@
|
|
|
738
821
|
shipmentFileInfo.shipmentId,
|
|
739
822
|
'shipment',
|
|
740
823
|
'sale_personal_temporary_finally_invoice'
|
|
741
|
-
)
|
|
742
|
-
|
|
824
|
+
)"
|
|
825
|
+
:isShowTip="false" :uploadNameStr="$t('contractDetail.saleTemporaryFinallyInvoice')" />
|
|
743
826
|
</div>
|
|
744
827
|
<div class="file-list" v-else>
|
|
745
828
|
<file-show :hiddenOperation="channel == 'official-website'" @refresh="handleRefresh"
|
|
@@ -753,8 +836,8 @@
|
|
|
753
836
|
shipmentFileInfo.shipmentId,
|
|
754
837
|
'shipment',
|
|
755
838
|
'purchase_temporary_finally_invoice'
|
|
756
|
-
)
|
|
757
|
-
|
|
839
|
+
)"
|
|
840
|
+
:isShowTip="false" :uploadNameStr="$t('contractDetail.saleTemporaryFinallyInvoice')" />
|
|
758
841
|
</div>
|
|
759
842
|
</div>
|
|
760
843
|
</el-col>
|
|
@@ -792,12 +875,15 @@
|
|
|
792
875
|
bgTime: contract.contractType == 'sale' ? getNewInfo && timeFormate(getNewInfo) : shipmentFileInfo.purchaseFinallyInvoice && timeFormate(shipmentFileInfo.purchaseFinallyInvoice),
|
|
793
876
|
bgcolor: shipProgressInfo.bgcolor
|
|
794
877
|
}"></ContentTitle>
|
|
878
|
+
<span class="bg-history" @click="handleHistory(contract.contractType == 'sale' ? 'sale_personal_finally_invoice,sale_finally_invoice' : 'purchase_finally_invoice', shipmentFileInfo.shipmentId)">{{ $t('contractDetail.view_history') }}</span>
|
|
795
879
|
<span
|
|
796
880
|
v-if="
|
|
797
881
|
channel !== 'official-website' && contract.contractType == 'purchase' && shipmentFileInfo.purchaseFinallyInvoice && shipmentFileInfo.purchaseFinallyInvoice.length > 0"
|
|
798
882
|
style="color: #1890ff; cursor: pointer; margin-left: 10px;font-size:14px;"
|
|
799
883
|
@click.stop="identifyPageBoth(shipmentFileInfo, 2)"
|
|
800
|
-
>
|
|
884
|
+
>
|
|
885
|
+
<el-divider direction="vertical"></el-divider>
|
|
886
|
+
{{ identify }}
|
|
801
887
|
</span>
|
|
802
888
|
</div>
|
|
803
889
|
<!-- <div class="sub-title"> -->
|
|
@@ -981,11 +1067,14 @@
|
|
|
981
1067
|
</el-col>
|
|
982
1068
|
|
|
983
1069
|
<el-col :span="24">
|
|
984
|
-
<
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
1070
|
+
<div class="content-root-row">
|
|
1071
|
+
<ContentTitle :contentTitleProp="{
|
|
1072
|
+
bgButton: $t('contractDetail.otherFile'),
|
|
1073
|
+
bgTime: contract.contractType == 'sale' ? shipmentFileInfo.saleShipmentOther && timeFormate(shipmentFileInfo.saleShipmentOther) : shipmentFileInfo.purchaseShipmentOther && timeFormate(shipmentFileInfo.purchaseShipmentOther),
|
|
1074
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
1075
|
+
}"></ContentTitle>
|
|
1076
|
+
<span class="bg-history" @click="handleHistory('sale_shipment_other', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
1077
|
+
</div>
|
|
989
1078
|
</el-col>
|
|
990
1079
|
<el-col :span="24" v-if="contract.contractType == 'sale'">
|
|
991
1080
|
<div class="file-list">
|
|
@@ -1026,14 +1115,9 @@
|
|
|
1026
1115
|
</div>
|
|
1027
1116
|
|
|
1028
1117
|
<!-- 收货 -->
|
|
1029
|
-
<div>
|
|
1030
|
-
<BillOfLadingNoTab
|
|
1031
|
-
:contractFileInfo="contractFileInfo"
|
|
1032
|
-
@changeShipBillNo="changeShipBillNo"
|
|
1033
|
-
:progressInfo="getGoodsProgressInfo"
|
|
1034
|
-
:shipBillNoProp="shipBillNo"
|
|
1035
|
-
></BillOfLadingNoTab>
|
|
1118
|
+
<div id="contract_receiving_id">
|
|
1036
1119
|
<SectionSlot
|
|
1120
|
+
ref="SectionReceiving"
|
|
1037
1121
|
:infoPro="getGoodsProgressInfo" v-for="(
|
|
1038
1122
|
shipmentFileInfo, shipmentIndex
|
|
1039
1123
|
) in contractFileInfo.shipmentFileInfoList" :key="shipmentIndex" v-if="shipmentIndex == shipBillNo"
|
|
@@ -1046,76 +1130,18 @@
|
|
|
1046
1130
|
<template v-slot:content>
|
|
1047
1131
|
<div class="content-root">
|
|
1048
1132
|
<div>
|
|
1049
|
-
|
|
1050
|
-
{
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
}
|
|
1133
|
+
<div class="content-root-row">
|
|
1134
|
+
<ContentTitle :contentTitleProp="{
|
|
1135
|
+
bgButton: $t('contractDetail.tip7'),
|
|
1136
|
+
bgTime: shipmentFileInfo.deliveryReceipt && timeFormate(shipmentFileInfo.deliveryReceipt),
|
|
1137
|
+
bgcolor: getGoodsProgressInfo.bgcolor
|
|
1138
|
+
}"></ContentTitle>
|
|
1139
|
+
<span class="bg-history" @click="handleHistory('shipment_delivery_receipt', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
1055
1140
|
</div>
|
|
1056
|
-
<div v-else class="sub-title">{{ $t("contractDetail.Final_payment") }}</div> -->
|
|
1057
|
-
<!-- 尾款水单 -->
|
|
1058
|
-
<!-- <el-row>
|
|
1059
|
-
<el-col :span="24">
|
|
1060
|
-
<div>
|
|
1061
|
-
<ContentTitle :contentTitleProp="{
|
|
1062
|
-
bgButton: $t('contractDetail.finalPaymentMemo'),
|
|
1063
|
-
bgTime: shipmentFileInfo.waterBill && timeFormate(shipmentFileInfo.waterBill),
|
|
1064
|
-
bgcolor: getGoodsProgressInfo.bgcolor
|
|
1065
|
-
}"></ContentTitle>
|
|
1066
|
-
|
|
1067
|
-
<div class="file-list" v-if="shipmentFileInfo.waterBill && shipmentFileInfo.waterBill.length">
|
|
1068
|
-
<file-show
|
|
1069
|
-
:hiddenOperation="channel == 'official-website'"
|
|
1070
|
-
@refresh="handleRefresh"
|
|
1071
|
-
@checked="handleChecked"
|
|
1072
|
-
@uncheck="handleUncheck"
|
|
1073
|
-
:file-info="item"
|
|
1074
|
-
v-for="(item, i) in shipmentFileInfo.waterBill"
|
|
1075
|
-
:key="i"
|
|
1076
|
-
/>
|
|
1077
|
-
</div>
|
|
1078
|
-
<div v-else class="center-status">
|
|
1079
|
-
<i class="el-icon-time"></i>
|
|
1080
|
-
暂无文件
|
|
1081
|
-
</div>
|
|
1082
|
-
</div>
|
|
1083
|
-
</el-col>
|
|
1084
|
-
</el-row> -->
|
|
1085
|
-
<!-- 汇款凭证 -->
|
|
1086
|
-
<!-- <el-row>
|
|
1087
|
-
<div>
|
|
1088
|
-
<ContentTitle :contentTitleProp="{
|
|
1089
|
-
bgButton: $t('contractDetail.swift'),
|
|
1090
|
-
bgTime: shipmentFileInfo.voucher && timeFormate(shipmentFileInfo.voucher),
|
|
1091
|
-
bgcolor: getGoodsProgressInfo.bgcolor
|
|
1092
|
-
}"></ContentTitle>
|
|
1093
|
-
<div class="file-list" v-if="shipmentFileInfo.voucher && shipmentFileInfo.voucher.length">
|
|
1094
|
-
<file-show
|
|
1095
|
-
:hiddenOperation="channel == 'official-website'"
|
|
1096
|
-
@refresh="handleRefresh"
|
|
1097
|
-
@checked="handleChecked"
|
|
1098
|
-
@uncheck="handleUncheck"
|
|
1099
|
-
:file-info="item"
|
|
1100
|
-
v-for="(item, i) in shipmentFileInfo.voucher"
|
|
1101
|
-
:key="i"
|
|
1102
|
-
/>
|
|
1103
|
-
</div>
|
|
1104
|
-
<div v-else class="center-status">
|
|
1105
|
-
<i class="el-icon-time"></i>
|
|
1106
|
-
暂无文件
|
|
1107
|
-
</div>
|
|
1108
|
-
</div>
|
|
1109
|
-
</el-row> -->
|
|
1110
|
-
<!-- 提货凭证 -->
|
|
1111
|
-
<ContentTitle :contentTitleProp="{
|
|
1112
|
-
bgButton: $t('contractDetail.tip7'),
|
|
1113
|
-
bgTime: shipmentFileInfo.deliveryReceipt && timeFormate(shipmentFileInfo.deliveryReceipt),
|
|
1114
|
-
bgcolor: getGoodsProgressInfo.bgcolor
|
|
1115
|
-
}"></ContentTitle>
|
|
1116
1141
|
<el-col :span="24">
|
|
1117
1142
|
<div class="file-list">
|
|
1118
1143
|
<file-show @refresh="handleRefresh" @checked="handleChecked" @uncheck="handleUncheck"
|
|
1144
|
+
deleteTips="你确定要删除文件吗?删除后,电放状态将会回退到未电放?"
|
|
1119
1145
|
:hiddenOperation="channel == 'official-website'"
|
|
1120
1146
|
:selectFileListProp="selectFileList"
|
|
1121
1147
|
:file-info="item" v-for="(item, i) in shipmentFileInfo.deliveryReceipt" :key="i" />
|
|
@@ -1146,13 +1172,8 @@
|
|
|
1146
1172
|
</div>
|
|
1147
1173
|
<!-- 索赔 -->
|
|
1148
1174
|
<div v-if="contractFileInfo.claimCreateFlag">
|
|
1149
|
-
<BillOfLadingNoTab
|
|
1150
|
-
:contractFileInfo="contractFileInfo"
|
|
1151
|
-
@changeShipBillNo="changeShipBillNo"
|
|
1152
|
-
:progressInfo="shipProgressInfo"
|
|
1153
|
-
:shipBillNoProp="shipBillNo"
|
|
1154
|
-
></BillOfLadingNoTab>
|
|
1155
1175
|
<SectionSlot
|
|
1176
|
+
ref="SectionClaim"
|
|
1156
1177
|
:infoPro="claimProgressInfo"
|
|
1157
1178
|
v-for="(
|
|
1158
1179
|
shipmentFileInfo, shipmentIndex
|
|
@@ -1167,30 +1188,22 @@
|
|
|
1167
1188
|
<template v-slot:content>
|
|
1168
1189
|
<div class="content-root">
|
|
1169
1190
|
<div>
|
|
1170
|
-
<
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1191
|
+
<div class="content-root-row">
|
|
1192
|
+
<ContentTitle :contentTitleProp="{
|
|
1193
|
+
bgButton: !buyerFlag
|
|
1194
|
+
? $t('contractDetail.Credit_Note')
|
|
1195
|
+
: $t('contractDetail.Debit_Note'),
|
|
1196
|
+
bgTime: claimFileInfoCom && timeFormate(claimFileInfoCom),
|
|
1197
|
+
bgcolor: claimProgressInfo.bgcolor
|
|
1198
|
+
}"></ContentTitle>
|
|
1199
|
+
<span class="bg-history" @click="handleHistory(!buyerFlag ? 'claim_credit_note' : 'claim_debit_note', linkId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
1200
|
+
</div>
|
|
1177
1201
|
<el-col :span="24">
|
|
1178
1202
|
<div class="file-list" v-if="claimFileInfoCom">
|
|
1179
1203
|
<file-show @refresh="handleRefresh" @checked="handleChecked" @uncheck="handleUncheck"
|
|
1180
1204
|
:selectFileListProp="selectFileList"
|
|
1181
1205
|
:hiddenOperation="channel == 'official-website'"
|
|
1182
1206
|
:file-info="item" v-for="(item, i) in claimFileInfoCom" :key="i" />
|
|
1183
|
-
<!-- <contract-file-drag-upload
|
|
1184
|
-
@upload="
|
|
1185
|
-
handleUpload(
|
|
1186
|
-
$event,
|
|
1187
|
-
shipmentFileInfo.shipmentId,
|
|
1188
|
-
'shipment',
|
|
1189
|
-
'shipment_delivery_receipt'
|
|
1190
|
-
)
|
|
1191
|
-
"
|
|
1192
|
-
:isShowTip="false"
|
|
1193
|
-
/> -->
|
|
1194
1207
|
</div>
|
|
1195
1208
|
<div v-else class="center-status">
|
|
1196
1209
|
<i class="el-icon-time"></i>
|
|
@@ -1203,8 +1216,9 @@
|
|
|
1203
1216
|
</SectionSlot>
|
|
1204
1217
|
</div>
|
|
1205
1218
|
<!-- cndn -->
|
|
1206
|
-
<div style="margin-top:
|
|
1219
|
+
<div style="margin-top:20px" v-if="CNbillsCom.length || DNbillsCom.length">
|
|
1207
1220
|
<SectionSlot
|
|
1221
|
+
ref="SectionCNDN"
|
|
1208
1222
|
:infoPro="cndnProgressInfo"
|
|
1209
1223
|
>
|
|
1210
1224
|
<template v-slot:header>
|
|
@@ -1227,17 +1241,6 @@
|
|
|
1227
1241
|
:selectFileListProp="selectFileList"
|
|
1228
1242
|
:hiddenOperation="true"
|
|
1229
1243
|
:file-info="item" v-for="(item, i) in DNbillsCom" :key="i" />
|
|
1230
|
-
<!-- <contract-file-drag-upload
|
|
1231
|
-
@upload="
|
|
1232
|
-
handleUpload(
|
|
1233
|
-
$event,
|
|
1234
|
-
shipmentFileInfo.shipmentId,
|
|
1235
|
-
'shipment',
|
|
1236
|
-
'shipment_delivery_receipt'
|
|
1237
|
-
)
|
|
1238
|
-
"
|
|
1239
|
-
:isShowTip="false"
|
|
1240
|
-
/> -->
|
|
1241
1244
|
</div>
|
|
1242
1245
|
<!-- <div v-else class="center-status">
|
|
1243
1246
|
<i class="el-icon-time"></i>
|
|
@@ -1258,17 +1261,6 @@
|
|
|
1258
1261
|
:selectFileListProp="selectFileList"
|
|
1259
1262
|
:hiddenOperation="true"
|
|
1260
1263
|
:file-info="item" v-for="(item, i) in CNbillsCom" :key="i" />
|
|
1261
|
-
<!-- <contract-file-drag-upload
|
|
1262
|
-
@upload="
|
|
1263
|
-
handleUpload(
|
|
1264
|
-
$event,
|
|
1265
|
-
shipmentFileInfo.shipmentId,
|
|
1266
|
-
'shipment',
|
|
1267
|
-
'shipment_delivery_receipt'
|
|
1268
|
-
)
|
|
1269
|
-
"
|
|
1270
|
-
:isShowTip="false"
|
|
1271
|
-
/> -->
|
|
1272
1264
|
</div>
|
|
1273
1265
|
<!-- <div v-else class="center-status">
|
|
1274
1266
|
<i class="el-icon-time"></i>
|
|
@@ -1278,7 +1270,7 @@
|
|
|
1278
1270
|
</div>
|
|
1279
1271
|
</div>
|
|
1280
1272
|
</template>
|
|
1281
|
-
|
|
1273
|
+
</SectionSlot>
|
|
1282
1274
|
</div>
|
|
1283
1275
|
|
|
1284
1276
|
<deposit-invoice ref="depositInvoice"></deposit-invoice>
|
|
@@ -1317,6 +1309,7 @@
|
|
|
1317
1309
|
:getContractFileInfoCallback="getContractFileInfoCallback"
|
|
1318
1310
|
></shipment-purchase-amount>
|
|
1319
1311
|
</div>
|
|
1312
|
+
</div>
|
|
1320
1313
|
</template>
|
|
1321
1314
|
|
|
1322
1315
|
<script>
|
|
@@ -1360,6 +1353,7 @@ import ContentTitle from './contractFile/ContentTitle.vue';
|
|
|
1360
1353
|
import IMGPreviewCheckBox from './contractFile/IMGPreviewCheckBox.vue'
|
|
1361
1354
|
import BillOfLadingNoTab from './contractFile/BillOfLadingNoTab.vue'
|
|
1362
1355
|
import ShowAndHide from './contractFile/ShowAndHide.vue'
|
|
1356
|
+
import { delBizFileInfo } from '../../../api/biz/bizFileInfo'
|
|
1363
1357
|
|
|
1364
1358
|
let handleGenerateflag = false;
|
|
1365
1359
|
let handleGenerateflag1 = false;
|
|
@@ -1400,12 +1394,12 @@ export default {
|
|
|
1400
1394
|
type: Boolean,
|
|
1401
1395
|
default: true,
|
|
1402
1396
|
},
|
|
1403
|
-
selectFileListProp: {
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
},
|
|
1397
|
+
// selectFileListProp: {
|
|
1398
|
+
// type: Array,
|
|
1399
|
+
// default: () => {
|
|
1400
|
+
// return [];
|
|
1401
|
+
// },
|
|
1402
|
+
// },
|
|
1409
1403
|
},
|
|
1410
1404
|
data() {
|
|
1411
1405
|
return {
|
|
@@ -1514,6 +1508,7 @@ export default {
|
|
|
1514
1508
|
url: null,
|
|
1515
1509
|
ext: null,
|
|
1516
1510
|
},
|
|
1511
|
+
selectFileList: [],
|
|
1517
1512
|
// 表单参数
|
|
1518
1513
|
form: {},
|
|
1519
1514
|
//上传表单
|
|
@@ -1549,6 +1544,65 @@ export default {
|
|
|
1549
1544
|
},
|
|
1550
1545
|
mounted() { },
|
|
1551
1546
|
methods: {
|
|
1547
|
+
// 装运模块状态变化,需要同步关联模块
|
|
1548
|
+
handleShippingUpdateOpen(isOpen) {
|
|
1549
|
+
console.log(this.$refs.SectionReceiving)
|
|
1550
|
+
console.log(this.$refs.SectionClaim)
|
|
1551
|
+
console.log(this.$refs.SectionCNDN)
|
|
1552
|
+
|
|
1553
|
+
this.$refs.SectionReceiving[0]?.setOpen(isOpen)
|
|
1554
|
+
this.$refs.SectionClaim[0]?.setOpen(isOpen)
|
|
1555
|
+
this.$refs.SectionCNDN?.setOpen(isOpen)
|
|
1556
|
+
},
|
|
1557
|
+
handleScroll(elementId) {
|
|
1558
|
+
document.getElementById(elementId).scrollIntoView()
|
|
1559
|
+
},
|
|
1560
|
+
/**
|
|
1561
|
+
* @description: 取消全部选择
|
|
1562
|
+
* @return {*}
|
|
1563
|
+
*/
|
|
1564
|
+
cancelAll() {
|
|
1565
|
+
this.cancelAllSelectFileList()
|
|
1566
|
+
},
|
|
1567
|
+
|
|
1568
|
+
/**
|
|
1569
|
+
* @description: 全部下载
|
|
1570
|
+
* @return {*}
|
|
1571
|
+
*/
|
|
1572
|
+
downLoadAll() {
|
|
1573
|
+
if (this.selectFileList.length == 0) {
|
|
1574
|
+
return this.$message.warning(this.$t('contractDetail.please_select_file'))
|
|
1575
|
+
}
|
|
1576
|
+
this.downloadZip()
|
|
1577
|
+
},
|
|
1578
|
+
|
|
1579
|
+
deleteAll() {
|
|
1580
|
+
console.log('==delBizFileInfo==', this.selectFileList)
|
|
1581
|
+
if (this.selectFileList.length == 0) {
|
|
1582
|
+
return this.$message.warning(this.$t('contractDetail.please_select_file'))
|
|
1583
|
+
}
|
|
1584
|
+
|
|
1585
|
+
this.$confirm('是否删除选中文件', '提示', {
|
|
1586
|
+
confirmButtonText: '确定',
|
|
1587
|
+
cancelButtonText: '取消',
|
|
1588
|
+
type: 'warning'
|
|
1589
|
+
})
|
|
1590
|
+
.then(() => {
|
|
1591
|
+
const ids = this.selectFileList.map((item) => item.fileId)
|
|
1592
|
+
delBizFileInfo(ids).then(() => {
|
|
1593
|
+
this.$message.success('删除成功')
|
|
1594
|
+
this.handleRefresh()
|
|
1595
|
+
})
|
|
1596
|
+
})
|
|
1597
|
+
.catch(() => {
|
|
1598
|
+
this.$message.info('已取消删除')
|
|
1599
|
+
})
|
|
1600
|
+
},
|
|
1601
|
+
|
|
1602
|
+
draftBillOfLadingUrl(shipmentFileInfo) {
|
|
1603
|
+
return shipmentFileInfo && shipmentFileInfo.draftBillOfLading && shipmentFileInfo.draftBillOfLading[0] && shipmentFileInfo.draftBillOfLading[0].url
|
|
1604
|
+
},
|
|
1605
|
+
|
|
1552
1606
|
/**
|
|
1553
1607
|
* @description:
|
|
1554
1608
|
* @param {*} info
|
|
@@ -1562,11 +1616,19 @@ export default {
|
|
|
1562
1616
|
}
|
|
1563
1617
|
},
|
|
1564
1618
|
|
|
1565
|
-
allSelectContainerPackingPhoto(containerId) {
|
|
1566
|
-
|
|
1619
|
+
// allSelectContainerPackingPhoto(containerId) {
|
|
1620
|
+
// this.$refs['container_packing_photo_' + containerId][0].checkAll1()
|
|
1621
|
+
// },
|
|
1622
|
+
// cancelContainerPackingPhoto(containerId) {
|
|
1623
|
+
// this.$refs['container_packing_photo_' + containerId][0].cancelAll1()
|
|
1624
|
+
// },
|
|
1625
|
+
|
|
1626
|
+
clickSelectAllContainer(containerId) {
|
|
1627
|
+
return this.$refs['container_packing_photo_' + containerId][0].clickSelectAll()
|
|
1567
1628
|
},
|
|
1568
|
-
|
|
1569
|
-
|
|
1629
|
+
|
|
1630
|
+
hasSelectAllContainer(containerId) {
|
|
1631
|
+
return this.$refs['container_packing_photo_' + containerId] && this.$refs['container_packing_photo_' + containerId][0].hasSelectAll()
|
|
1570
1632
|
},
|
|
1571
1633
|
|
|
1572
1634
|
changeShipBillNo(index) {
|
|
@@ -2111,12 +2173,15 @@ export default {
|
|
|
2111
2173
|
this.setRate(this.shipBillNo)
|
|
2112
2174
|
});
|
|
2113
2175
|
},
|
|
2114
|
-
|
|
2176
|
+
// 合同 定金发票 尾款发票 装箱单 不需要传 visible=false,其余的均需要传
|
|
2177
|
+
handleHistory(fileType, linkId, visible) {
|
|
2178
|
+
console.log('handleHistory', fileType, linkId, visible)
|
|
2115
2179
|
this.$router.push({
|
|
2116
2180
|
path: '/contract/file/history',
|
|
2117
2181
|
query: {
|
|
2118
|
-
linkId:
|
|
2182
|
+
linkId: linkId,
|
|
2119
2183
|
fileType: fileType,
|
|
2184
|
+
visible: visible === false ? "0" : null,
|
|
2120
2185
|
},
|
|
2121
2186
|
});
|
|
2122
2187
|
},
|
|
@@ -2255,6 +2320,19 @@ export default {
|
|
|
2255
2320
|
},
|
|
2256
2321
|
},
|
|
2257
2322
|
computed: {
|
|
2323
|
+
personalBillFileInfo: function() {
|
|
2324
|
+
if (this.contractFileInfo.bliFileInfoList && this.contractFileInfo.bliFileInfoList.length > 0) {
|
|
2325
|
+
return this.contractFileInfo.bliFileInfoList[0].personalBillFileInfo
|
|
2326
|
+
}
|
|
2327
|
+
return null
|
|
2328
|
+
},
|
|
2329
|
+
latestBillFileInfo: function() {
|
|
2330
|
+
if (this.contractFileInfo.bliFileInfoList && this.contractFileInfo.bliFileInfoList.length > 0) {
|
|
2331
|
+
return this.contractFileInfo.bliFileInfoList[0].latestBillFileInfo
|
|
2332
|
+
}
|
|
2333
|
+
return null
|
|
2334
|
+
},
|
|
2335
|
+
|
|
2258
2336
|
// 销售获取最新的尾款发票
|
|
2259
2337
|
getNewInfo() {
|
|
2260
2338
|
// 时间比较
|
|
@@ -2331,13 +2409,13 @@ export default {
|
|
|
2331
2409
|
},
|
|
2332
2410
|
},
|
|
2333
2411
|
watch: {
|
|
2334
|
-
selectFileListProp: {
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
},
|
|
2412
|
+
// selectFileListProp: {
|
|
2413
|
+
// handler(val) {
|
|
2414
|
+
// this.selectFileList = val
|
|
2415
|
+
// },
|
|
2416
|
+
// immediate: true,
|
|
2417
|
+
// deep: true
|
|
2418
|
+
// },
|
|
2341
2419
|
},
|
|
2342
2420
|
destroyed() {
|
|
2343
2421
|
clearTimeout(this.timer);
|
|
@@ -2354,15 +2432,18 @@ export default {
|
|
|
2354
2432
|
}
|
|
2355
2433
|
|
|
2356
2434
|
.progress-root {
|
|
2435
|
+
padding: 0 20px;
|
|
2357
2436
|
display: flex;
|
|
2437
|
+
height: 60px;
|
|
2438
|
+
background-color: white;
|
|
2439
|
+
width: 100%;
|
|
2440
|
+
align-items: center;
|
|
2358
2441
|
}
|
|
2359
2442
|
|
|
2360
2443
|
.selection-root {
|
|
2361
2444
|
display: flex;
|
|
2362
|
-
margin-top: 26px;
|
|
2363
2445
|
justify-content: flex-start;
|
|
2364
2446
|
align-items: center;
|
|
2365
|
-
margin-bottom: 20px;
|
|
2366
2447
|
}
|
|
2367
2448
|
|
|
2368
2449
|
.border-button {
|
|
@@ -2380,9 +2461,18 @@ export default {
|
|
|
2380
2461
|
cursor: pointer;
|
|
2381
2462
|
}
|
|
2382
2463
|
|
|
2464
|
+
.border-button-blue {
|
|
2465
|
+
background-color: #54B8FF;
|
|
2466
|
+
color: white;
|
|
2467
|
+
border: 0;
|
|
2468
|
+
line-height: 21px;
|
|
2469
|
+
}
|
|
2470
|
+
|
|
2383
2471
|
.border-button-share {
|
|
2384
|
-
|
|
2385
|
-
|
|
2472
|
+
margin-right: 5px;
|
|
2473
|
+
background-color: #84db4c;
|
|
2474
|
+
border: 0;
|
|
2475
|
+
line-height: 21px;
|
|
2386
2476
|
}
|
|
2387
2477
|
|
|
2388
2478
|
.slot-content {
|
|
@@ -2408,6 +2498,26 @@ export default {
|
|
|
2408
2498
|
}
|
|
2409
2499
|
}
|
|
2410
2500
|
|
|
2501
|
+
.selection-root {
|
|
2502
|
+
margin-left: 16px;
|
|
2503
|
+
display: flex;
|
|
2504
|
+
flex-direction: row;
|
|
2505
|
+
align-items: center;
|
|
2506
|
+
margin-right: 16px;
|
|
2507
|
+
}
|
|
2508
|
+
|
|
2509
|
+
// .border-button {
|
|
2510
|
+
// padding: 0 10px;
|
|
2511
|
+
// width: max-content;
|
|
2512
|
+
// height: 21px;
|
|
2513
|
+
// text-align: center;
|
|
2514
|
+
// line-height: 17px;
|
|
2515
|
+
// background: #ffffff;
|
|
2516
|
+
// border-radius: 11px;
|
|
2517
|
+
// font-size: 12px;
|
|
2518
|
+
// border: 2px solid #d1d3d4;
|
|
2519
|
+
// cursor: pointer;
|
|
2520
|
+
// }
|
|
2411
2521
|
|
|
2412
2522
|
.content-root {
|
|
2413
2523
|
overflow: hidden;
|