doctor-admin-components 1.0.14-beta.1 → 1.0.14-beta.11
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/README.md +6 -1
- package/package.json +1 -1
- package/packages/index.js +0 -1
- package/packages/src/api/biz/bizShipment.js +20 -0
- package/packages/src/utils/MycommonUtil.js +12 -0
- package/packages/src/views/biz/bizFileInfo/contract.vue +447 -335
- package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +9 -7
- package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +22 -6
- package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +11 -3
- package/packages/src/views/biz/bizFileInfo/fileShow.vue +11 -3
- package/packages/src/views/biz/bizShipment/add.vue +58 -10
- package/packages/src/views/biz/contractTracing/contractPdf.vue +3 -1
- package/packages/src/views/biz/contractTracing/contractSummary.vue +7 -1
- 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,56 @@
|
|
|
17
31
|
<template v-slot:content>
|
|
18
32
|
<div class="content-root">
|
|
19
33
|
<!-- 提单指令 -->
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
|
+
/>
|
|
38
58
|
</div>
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
<div class="file-list" style="width: 100%;min-height: 1px;">
|
|
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-if="contract.contractType == 'sale'"
|
|
66
|
+
v-show="(!fileInfo.personalBillFileInfo || fileInfo.personalBillFileInfo.length == 0) && channel !== 'official-website'"
|
|
67
|
+
@upload="
|
|
68
|
+
handleUpload(
|
|
69
|
+
$event,
|
|
70
|
+
contract.dealId,
|
|
71
|
+
'dealRecord',
|
|
72
|
+
'personal_deal_bill'
|
|
73
|
+
)"
|
|
74
|
+
:isShowTip="false"
|
|
75
|
+
:uploadNameStr="$t('contractDetail.blInfo')" />
|
|
76
|
+
</div>
|
|
77
|
+
</el-col>
|
|
78
|
+
<el-col :span="12" class="center-status">
|
|
79
|
+
<i :class="fileInfo.blConfirmFlag ? 'el-icon-success success' : 'el-icon-time'"></i>
|
|
80
|
+
{{ fileInfo.blConfirmFlag ? $t('contractDetail.bl_confirm_true') : $t('contractDetail.blInfo_unconfirm') }}
|
|
81
|
+
</el-col>
|
|
82
|
+
</div>
|
|
59
83
|
|
|
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
84
|
<!-- 销售合同-回签合同 -->
|
|
70
85
|
<el-col :span="24">
|
|
71
86
|
<div class="hr-class"></div>
|
|
@@ -79,7 +94,7 @@
|
|
|
79
94
|
: $t('contractDetail.purchaseContract'),
|
|
80
95
|
bgTime:contractFileInfo.latestContractFileInfo && timeFormate(contractFileInfo.latestContractFileInfo)
|
|
81
96
|
}"></ContentTitle>
|
|
82
|
-
<span class="bg-history" @click="handleHistory('contract_formal')">{{ $t('contractDetail.view_history') }}</span>
|
|
97
|
+
<span class="bg-history" @click="handleHistory('contract_draft,contract_formal,contract_sign', linkId)">{{ $t('contractDetail.view_history') }}</span>
|
|
83
98
|
</div>
|
|
84
99
|
</el-col>
|
|
85
100
|
<el-col :span="12" v-if="contractFileInfo.signContractFileInfo && contractFileInfo.signContractFileInfo.length">
|
|
@@ -138,7 +153,8 @@
|
|
|
138
153
|
bgTime:contractFileInfo.proformaInvoiceFileInfo && timeFormate(contractFileInfo.proformaInvoiceFileInfo) || contractFileInfo.personalProformaInvoiceFileInfo && timeFormate(contractFileInfo.personalProformaInvoiceFileInfo)
|
|
139
154
|
}">
|
|
140
155
|
</ContentTitle>
|
|
141
|
-
<span class="bg-history"
|
|
156
|
+
<span class="bg-history" @click="handleHistory('personal_proforma_invoice,proforma_invoice', contractFileInfo.proformaInvoice.id)">{{ $t('contractDetail.view_history') }}</span>
|
|
157
|
+
<span class="bg-history" style="padding-left: 20px;" v-if="channel !== 'official-website'" @click="skipInvoiceList">{{ $t('contractDetail.invoice_list') }}</span>
|
|
142
158
|
</div>
|
|
143
159
|
</el-col>
|
|
144
160
|
<!-- 支付凭证 -->
|
|
@@ -283,10 +299,13 @@
|
|
|
283
299
|
<div class="hr-class"></div>
|
|
284
300
|
</el-col>
|
|
285
301
|
<el-col :span="24">
|
|
286
|
-
<
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
302
|
+
<div class="content-root-row">
|
|
303
|
+
<ContentTitle :contentTitleProp="{
|
|
304
|
+
bgButton: $t('contractDetail.otherFile'),
|
|
305
|
+
bgTime: contract.contractType == 'sale' ? contractFileInfo.saleContractOtherFile && timeFormate(contractFileInfo.saleContractOtherFile) : contractFileInfo.purchaseContractOtherFile && timeFormate(contractFileInfo.purchaseContractOtherFile)
|
|
306
|
+
}"></ContentTitle>
|
|
307
|
+
<span class="bg-history" @click="handleHistory(contract.contractType == 'sale' ? 'sale_contract_other_file' : 'purchase_contract_other_file', linkId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
308
|
+
</div>
|
|
290
309
|
</el-col>
|
|
291
310
|
<el-col :span="24">
|
|
292
311
|
<!-- 销售-其他文件 -->
|
|
@@ -319,33 +338,40 @@
|
|
|
319
338
|
/>
|
|
320
339
|
</div>
|
|
321
340
|
</el-col>
|
|
341
|
+
<el-col :span="24" v-if="channel !== 'official-website'" style="padding-top: 20px;">
|
|
342
|
+
<span>内部文件夹</span>
|
|
343
|
+
<div class="file-list">
|
|
344
|
+
<file-show @refresh="handleRefresh" @checked="handleChecked" :hiddenOperation="channel == 'official-website'" @uncheck="handleUncheck" :selectFileListProp="selectFileList" :file-info="item"
|
|
345
|
+
v-for="(item, i) in contractFileInfo.contractInternalFile" :key="i" />
|
|
346
|
+
<contract-file-drag-upload
|
|
347
|
+
@upload="
|
|
348
|
+
handleUpload(
|
|
349
|
+
$event,
|
|
350
|
+
contract.contractId,
|
|
351
|
+
'contract',
|
|
352
|
+
'contract_internal_file'
|
|
353
|
+
)"
|
|
354
|
+
:isShowTip="false" uploadNameStr="内部文件" />
|
|
355
|
+
</div>
|
|
356
|
+
</el-col>
|
|
322
357
|
</div>
|
|
323
358
|
</template>
|
|
324
359
|
</SectionSlot>
|
|
325
360
|
</div>
|
|
326
|
-
<!--
|
|
327
|
-
<
|
|
328
|
-
<BillOfLadingNoTab
|
|
361
|
+
<!-- 提单号分栏 -->
|
|
362
|
+
<BillOfLadingNoTab
|
|
329
363
|
:contractFileInfo="contractFileInfo"
|
|
330
364
|
@changeShipBillNo="changeShipBillNo"
|
|
331
365
|
:progressInfo="shipProgressInfo"
|
|
332
366
|
:shipBillNoProp="shipBillNo"
|
|
333
367
|
></BillOfLadingNoTab>
|
|
368
|
+
<!-- 装运 -->
|
|
369
|
+
<div id="contract_shipping_id">
|
|
334
370
|
<!-- 生成装运 -->
|
|
335
|
-
<SectionSlot :infoPro="shipProgressInfo" v-if="contractFileInfo && !contractFileInfo.shipmentFileInfoList">
|
|
371
|
+
<SectionSlot @updateOpen="handleShippingUpdateOpen" :infoPro="shipProgressInfo" v-if="contractFileInfo && !contractFileInfo.shipmentFileInfoList">
|
|
336
372
|
<template v-slot:header>
|
|
337
373
|
<div style="position:relative">
|
|
338
374
|
<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
375
|
</div>
|
|
350
376
|
</template>
|
|
351
377
|
<template v-slot:content>
|
|
@@ -363,22 +389,12 @@
|
|
|
363
389
|
</template>
|
|
364
390
|
</SectionSlot>
|
|
365
391
|
<div v-else>
|
|
366
|
-
<SectionSlot :infoPro="shipProgressInfo" v-for="(
|
|
392
|
+
<SectionSlot @updateOpen="handleShippingUpdateOpen" :infoPro="shipProgressInfo" v-for="(
|
|
367
393
|
shipmentFileInfo, shipmentIndex
|
|
368
|
-
) in contractFileInfo.shipmentFileInfoList" :key="shipmentIndex" v-if="shipmentIndex == shipBillNo">
|
|
394
|
+
) in contractFileInfo.shipmentFileInfoList" :key="'shipment'+shipmentIndex" v-if="shipmentIndex == shipBillNo">
|
|
369
395
|
<template v-slot:header>
|
|
370
396
|
<div style="position:relative">
|
|
371
397
|
<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
398
|
</div>
|
|
383
399
|
</template>
|
|
384
400
|
<template v-slot:content>
|
|
@@ -407,48 +423,101 @@
|
|
|
407
423
|
<div class="preview-download" @click="editShipment(shipmentItemData)">{{ $t('contractDetail.edit_shipment') }}</div>
|
|
408
424
|
</div>
|
|
409
425
|
<!-- 订舱资料 -->
|
|
410
|
-
<
|
|
426
|
+
<div class="content-root-row">
|
|
427
|
+
<ContentTitle :contentTitleProp="{
|
|
411
428
|
bgButton: $t('contractDetail.bookingConfirmation'),
|
|
412
429
|
bgTime: shipmentFileInfo.bookingConfirmation && timeFormate(shipmentFileInfo.bookingConfirmation),
|
|
413
430
|
bgcolor: shipProgressInfo.bgcolor
|
|
414
|
-
|
|
415
431
|
}">
|
|
416
432
|
</ContentTitle>
|
|
417
|
-
<
|
|
418
|
-
</
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
433
|
+
<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>
|
|
434
|
+
<span class="bg-history" v-else @click="handleHistory('shipment_booking_confirmation', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
435
|
+
</div>
|
|
436
|
+
<el-row>
|
|
437
|
+
<el-col :span="24">
|
|
438
|
+
<div class="file-list">
|
|
439
|
+
<el-col v-if=" contract.contractType == 'sale' && (!shipmentFileInfo.bookingConfirmation || shipmentFileInfo.bookingConfirmation && shipmentFileInfo.bookingConfirmation.length == 0)" :span="12" class="center-status">
|
|
440
|
+
<i class="el-icon-time"></i>
|
|
441
|
+
{{ $t('contractDetail.Booking_information_to_be_updated') }}
|
|
442
|
+
</el-col>
|
|
443
|
+
<file-show @refresh="handleRefresh" @checked="handleChecked" :hiddenOperation="channel == 'official-website'" @uncheck="handleUncheck" :selectFileListProp="selectFileList" :file-info="item"
|
|
444
|
+
v-for="(item, i) in shipmentFileInfo.bookingConfirmation" :key="i" />
|
|
445
|
+
<!-- 6. 销售去掉订舱资料上传功能 https://udswem7m8c.feishu.cn/wiki/Tm4SwKcqviRkTUkKNCxc2bnBnVb -->
|
|
446
|
+
<contract-file-drag-upload
|
|
447
|
+
v-if="channel !== 'official-website' && contract.contractType == 'purchase'"
|
|
448
|
+
@upload="
|
|
449
|
+
handleUpload(
|
|
450
|
+
$event,
|
|
451
|
+
shipmentFileInfo.shipmentId,
|
|
452
|
+
'shipment',
|
|
453
|
+
'shipment_booking_confirmation'
|
|
454
|
+
)
|
|
455
|
+
" :isShowTip="false" :uploadNameStr="$t('contractDetail.bookingConfirmation')" />
|
|
456
|
+
</div>
|
|
457
|
+
</el-col>
|
|
458
|
+
</el-row>
|
|
459
|
+
|
|
460
|
+
<el-row v-if="channel !== 'official-website'" style="padding-top: 20px;">
|
|
461
|
+
<el-col :span="24">
|
|
462
|
+
<span>内部文件夹</span>
|
|
463
|
+
<div class="file-list" v-if="contract.contractType == 'purchase'">
|
|
464
|
+
<file-show
|
|
465
|
+
@refresh="handleRefresh"
|
|
466
|
+
@checked="handleChecked"
|
|
467
|
+
:hiddenOperation="channel == 'official-website'"
|
|
468
|
+
@uncheck="handleUncheck"
|
|
469
|
+
:selectFileListProp="selectFileList"
|
|
470
|
+
:file-info="item"
|
|
471
|
+
v-for="(item, i) in shipmentFileInfo.purchaseShipmentInternalFile" :key="i" />
|
|
472
|
+
<contract-file-drag-upload
|
|
473
|
+
@upload="
|
|
474
|
+
handleUpload(
|
|
475
|
+
$event,
|
|
476
|
+
shipmentFileInfo.shipmentId,
|
|
477
|
+
'shipment',
|
|
478
|
+
'purchase_shipment_internal_file'
|
|
479
|
+
)"
|
|
480
|
+
:isShowTip="false" uploadNameStr="内部文件" />
|
|
481
|
+
</div>
|
|
482
|
+
|
|
483
|
+
<div class="file-list" v-else>
|
|
484
|
+
<file-show
|
|
485
|
+
@refresh="handleRefresh"
|
|
486
|
+
@checked="handleChecked"
|
|
487
|
+
:hiddenOperation="channel == 'official-website'"
|
|
488
|
+
@uncheck="handleUncheck"
|
|
489
|
+
:selectFileListProp="selectFileList"
|
|
490
|
+
:file-info="item"
|
|
491
|
+
v-for="(item, i) in shipmentFileInfo.saleShipmentInternalFile" :key="i" />
|
|
492
|
+
<contract-file-drag-upload
|
|
493
|
+
@upload="
|
|
494
|
+
handleUpload(
|
|
495
|
+
$event,
|
|
496
|
+
shipmentFileInfo.shipmentId,
|
|
497
|
+
'shipment',
|
|
498
|
+
'sale_shipment_internal_file'
|
|
499
|
+
)"
|
|
500
|
+
:isShowTip="false" uploadNameStr="内部文件" />
|
|
501
|
+
</div>
|
|
502
|
+
|
|
503
|
+
</el-col>
|
|
504
|
+
</el-row>
|
|
505
|
+
|
|
440
506
|
<el-col :span="24">
|
|
441
507
|
<div class="hr-class"></div>
|
|
442
508
|
</el-col>
|
|
509
|
+
|
|
443
510
|
<!-- 装箱单 -->
|
|
444
|
-
<
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
511
|
+
<el-row>
|
|
512
|
+
<el-col :span="24">
|
|
513
|
+
<div class="content-root-row">
|
|
514
|
+
<ContentTitle :contentTitleProp="{
|
|
515
|
+
bgButton: $t('contractDetail.packingList'),
|
|
516
|
+
bgTime: contract.contractType == 'purchase' ? shipmentFileInfo.purchasePersonalPackingList && timeFormate(shipmentFileInfo.purchasePersonalPackingList) : shipmentFileInfo.packingList && timeFormate(shipmentFileInfo.packingList),
|
|
517
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
518
|
+
}"></ContentTitle>
|
|
519
|
+
<span class="bg-history" @click="handleHistory(contract.contractType == 'purchase' ? 'purchase_personal_shipment_packing_list' : 'shipment_packing_list', shipmentFileInfo.shipmentId)">{{ $t('contractDetail.view_history') }}</span>
|
|
520
|
+
<div class="sub-title" style="margin-bottom: 0;" v-if="contract.contractType == 'purchase'">
|
|
452
521
|
<span style="color: #1890ff; cursor: pointer" v-if="shipmentFileInfo &&
|
|
453
522
|
shipmentFileInfo.purchasePersonalPackingList &&
|
|
454
523
|
shipmentFileInfo.purchasePersonalPackingList[0] &&
|
|
@@ -465,41 +534,49 @@
|
|
|
465
534
|
shipmentFileInfo && shipmentFileInfo.shipmentId,
|
|
466
535
|
'packing'
|
|
467
536
|
)
|
|
468
|
-
">
|
|
537
|
+
">
|
|
538
|
+
<el-divider direction="vertical"></el-divider>
|
|
539
|
+
{{ identify }}
|
|
469
540
|
</span>
|
|
470
541
|
</div>
|
|
471
|
-
|
|
542
|
+
</div>
|
|
543
|
+
</el-col>
|
|
544
|
+
</el-row>
|
|
545
|
+
<el-row v-if="contract.contractType == 'purchase'">
|
|
546
|
+
<div>
|
|
547
|
+
<ShowAndHide :dataInfoArr="shipmentFileInfo.purchasePersonalPackingList" heightStr="94px" :HideAmount="2">
|
|
472
548
|
<template>
|
|
473
|
-
<
|
|
474
|
-
<
|
|
475
|
-
|
|
476
|
-
<
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
549
|
+
<div style="display: flex; justify-content: space-between;width: 100%;">
|
|
550
|
+
<el-col :span="12" v-if="shipmentFileInfo.purchasePersonalPackingList && shipmentFileInfo.purchasePersonalPackingList.length > 0">
|
|
551
|
+
<div class="file-list">
|
|
552
|
+
<file-show :hiddenOperation=" channel == 'official-website'" @refresh="handleRefresh"
|
|
553
|
+
@checked="handleChecked" @uncheck="handleUncheck" :selectFileListProp="selectFileList" :file-info="item" v-for="(
|
|
554
|
+
item, i
|
|
555
|
+
) in shipmentFileInfo.purchasePersonalPackingList" :key="i" />
|
|
556
|
+
</div>
|
|
557
|
+
</el-col>
|
|
558
|
+
<el-col :span="12">
|
|
559
|
+
<div class="file-list">
|
|
560
|
+
<contract-file-drag-upload
|
|
561
|
+
@upload="handleUpload(
|
|
562
|
+
$event,
|
|
563
|
+
shipmentFileInfo.shipmentId,
|
|
564
|
+
'shipment',
|
|
565
|
+
'purchase_personal_shipment_packing_list'
|
|
566
|
+
)"
|
|
567
|
+
:isShowTip="false"
|
|
568
|
+
:uploadNameStr="$t('contractDetail.packingList')"
|
|
569
|
+
/>
|
|
570
|
+
</div>
|
|
571
|
+
</el-col>
|
|
572
|
+
</div>
|
|
496
573
|
</template>
|
|
497
574
|
</ShowAndHide>
|
|
498
575
|
</div>
|
|
499
576
|
</el-row>
|
|
500
577
|
<el-row v-if="contract.contractType == 'sale'">
|
|
501
578
|
<div>
|
|
502
|
-
<ShowAndHide :dataInfoArr="shipmentFileInfo.packingList || []" heightStr="
|
|
579
|
+
<ShowAndHide :dataInfoArr="shipmentFileInfo.packingList || []" heightStr="94px" :HideAmount="2">
|
|
503
580
|
<el-col :span="24">
|
|
504
581
|
<div class="file-list">
|
|
505
582
|
<el-col :span="12" v-if="!shipmentFileInfo.packingList || shipmentFileInfo.packingList.length == 0" class="center-status">
|
|
@@ -542,14 +619,15 @@
|
|
|
542
619
|
bgTime: containerFile.packingPhoto && timeFormate(containerFile.packingPhoto),
|
|
543
620
|
bgcolor: shipProgressInfo.bgcolor
|
|
544
621
|
}"></ContentTitle>
|
|
622
|
+
<span class="bg-history" @click="handleHistory('container_packing_photo', containerFile.containerId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
545
623
|
<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
624
|
<div class="border-button border-button-share"
|
|
552
|
-
@click.stop="shareContainerUrl(containerFile.containerId)">{{ $t('contractDetail.share') }}
|
|
625
|
+
@click.stop="shareContainerUrl(containerFile.containerId)">{{ $t('contractDetail.share') }}
|
|
626
|
+
</div>
|
|
627
|
+
<el-divider direction="vertical"></el-divider>
|
|
628
|
+
<div :class="hasSelectAllContainer(containerFile.containerId) ? 'border-button' : 'border-button border-button-blue'" @click.stop="clickSelectAllContainer(containerFile.containerId)">
|
|
629
|
+
{{ hasSelectAllContainer(containerFile.containerId) ? $t('contractDetail.select_all') : $t('contractDetail.Deselect') }}
|
|
630
|
+
</div>
|
|
553
631
|
</div>
|
|
554
632
|
</div>
|
|
555
633
|
</el-col>
|
|
@@ -586,30 +664,28 @@
|
|
|
586
664
|
<div class="hr-class"></div>
|
|
587
665
|
</el-col>
|
|
588
666
|
<el-col :span="24" style="display:flex;align-items:center">
|
|
589
|
-
<
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
667
|
+
<div class="content-root-row">
|
|
668
|
+
<ContentTitle :contentTitleProp="{
|
|
669
|
+
bgButton: $t('contractDetail.draftBillOfLading'),
|
|
670
|
+
bgTime: shipmentFileInfo.draftBillOfLading && timeFormate(shipmentFileInfo.draftBillOfLading),
|
|
671
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
672
|
+
}"></ContentTitle>
|
|
673
|
+
<span class="bg-history" @click="handleHistory('draft_bill_of_lading', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
674
|
+
</div>
|
|
675
|
+
|
|
676
|
+
<span
|
|
595
677
|
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
|
-
"
|
|
678
|
+
v-if="draftBillOfLadingUrl(shipmentFileInfo)"
|
|
602
679
|
@click="
|
|
603
680
|
identifyPage(
|
|
604
|
-
shipmentFileInfo
|
|
605
|
-
shipmentFileInfo.draftBillOfLading &&
|
|
606
|
-
shipmentFileInfo.draftBillOfLading[0] &&
|
|
607
|
-
shipmentFileInfo.draftBillOfLading[0].url,
|
|
681
|
+
draftBillOfLadingUrl(shipmentFileInfo),
|
|
608
682
|
shipmentFileInfo && shipmentFileInfo.shipmentId,
|
|
609
683
|
'draft_bill'
|
|
610
684
|
)
|
|
611
685
|
"
|
|
612
|
-
>
|
|
686
|
+
>
|
|
687
|
+
<el-divider direction="vertical"></el-divider>
|
|
688
|
+
{{ identify }}</span>
|
|
613
689
|
</el-col>
|
|
614
690
|
<el-col :span="24">
|
|
615
691
|
<el-col :span="12">
|
|
@@ -659,11 +735,14 @@
|
|
|
659
735
|
<div class="hr-class"></div>
|
|
660
736
|
</el-col>
|
|
661
737
|
<el-col :span="24">
|
|
662
|
-
<
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
738
|
+
<div class="content-root-row">
|
|
739
|
+
<ContentTitle :contentTitleProp="{
|
|
740
|
+
bgButton: $t('contractDetail.Copy_of_formal_bill_of_lading'),
|
|
741
|
+
bgTime: shipmentFileInfo.originalBillOfLadingCopy && timeFormate(shipmentFileInfo.originalBillOfLadingCopy),
|
|
742
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
743
|
+
}"></ContentTitle>
|
|
744
|
+
<span class="bg-history" @click="handleHistory('original_bill_of_lading_copy', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
745
|
+
</div>
|
|
667
746
|
</el-col>
|
|
668
747
|
<el-col :span="24">
|
|
669
748
|
<div class="file-list">
|
|
@@ -693,11 +772,14 @@
|
|
|
693
772
|
<div class="hr-class"></div>
|
|
694
773
|
</el-col>
|
|
695
774
|
<el-col :span="24" v-if="contract.quoteType != 'FIXED'">
|
|
696
|
-
<
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
775
|
+
<div class="content-root-row">
|
|
776
|
+
<ContentTitle :contentTitleProp="{
|
|
777
|
+
bgButton: $t('contractDetail.saleTemporaryFinallyInvoice'),
|
|
778
|
+
bgTime: shipmentFileInfo.salePersonalTemporaryFinallyInvoice && timeFormate(shipmentFileInfo.salePersonalTemporaryFinallyInvoice),
|
|
779
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
780
|
+
}"></ContentTitle>
|
|
781
|
+
<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>
|
|
782
|
+
</div>
|
|
701
783
|
<div class="sub-title">
|
|
702
784
|
<span
|
|
703
785
|
v-if="
|
|
@@ -706,7 +788,9 @@
|
|
|
706
788
|
"
|
|
707
789
|
style="color: #1890ff; cursor: pointer; margin-left: 10px"
|
|
708
790
|
@click.stop="identifyPageBoth(shipmentFileInfo, 1)"
|
|
709
|
-
>
|
|
791
|
+
>
|
|
792
|
+
<el-divider direction="vertical"></el-divider>
|
|
793
|
+
{{ identify }}</span>
|
|
710
794
|
</div>
|
|
711
795
|
<el-col :span="12" v-if="channel == 'official-website' && shipmentFileInfo.salePersonalTemporaryFinallyInvoice && shipmentFileInfo.salePersonalTemporaryFinallyInvoice.length == 0" class="center-status">
|
|
712
796
|
<i class="el-icon-time"></i>
|
|
@@ -738,8 +822,8 @@
|
|
|
738
822
|
shipmentFileInfo.shipmentId,
|
|
739
823
|
'shipment',
|
|
740
824
|
'sale_personal_temporary_finally_invoice'
|
|
741
|
-
)
|
|
742
|
-
|
|
825
|
+
)"
|
|
826
|
+
:isShowTip="false" :uploadNameStr="$t('contractDetail.saleTemporaryFinallyInvoice')" />
|
|
743
827
|
</div>
|
|
744
828
|
<div class="file-list" v-else>
|
|
745
829
|
<file-show :hiddenOperation="channel == 'official-website'" @refresh="handleRefresh"
|
|
@@ -753,8 +837,8 @@
|
|
|
753
837
|
shipmentFileInfo.shipmentId,
|
|
754
838
|
'shipment',
|
|
755
839
|
'purchase_temporary_finally_invoice'
|
|
756
|
-
)
|
|
757
|
-
|
|
840
|
+
)"
|
|
841
|
+
:isShowTip="false" :uploadNameStr="$t('contractDetail.saleTemporaryFinallyInvoice')" />
|
|
758
842
|
</div>
|
|
759
843
|
</div>
|
|
760
844
|
</el-col>
|
|
@@ -792,12 +876,15 @@
|
|
|
792
876
|
bgTime: contract.contractType == 'sale' ? getNewInfo && timeFormate(getNewInfo) : shipmentFileInfo.purchaseFinallyInvoice && timeFormate(shipmentFileInfo.purchaseFinallyInvoice),
|
|
793
877
|
bgcolor: shipProgressInfo.bgcolor
|
|
794
878
|
}"></ContentTitle>
|
|
879
|
+
<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
880
|
<span
|
|
796
881
|
v-if="
|
|
797
882
|
channel !== 'official-website' && contract.contractType == 'purchase' && shipmentFileInfo.purchaseFinallyInvoice && shipmentFileInfo.purchaseFinallyInvoice.length > 0"
|
|
798
883
|
style="color: #1890ff; cursor: pointer; margin-left: 10px;font-size:14px;"
|
|
799
884
|
@click.stop="identifyPageBoth(shipmentFileInfo, 2)"
|
|
800
|
-
>
|
|
885
|
+
>
|
|
886
|
+
<el-divider direction="vertical"></el-divider>
|
|
887
|
+
{{ identify }}
|
|
801
888
|
</span>
|
|
802
889
|
</div>
|
|
803
890
|
<!-- <div class="sub-title"> -->
|
|
@@ -981,11 +1068,14 @@
|
|
|
981
1068
|
</el-col>
|
|
982
1069
|
|
|
983
1070
|
<el-col :span="24">
|
|
984
|
-
<
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
1071
|
+
<div class="content-root-row">
|
|
1072
|
+
<ContentTitle :contentTitleProp="{
|
|
1073
|
+
bgButton: $t('contractDetail.otherFile'),
|
|
1074
|
+
bgTime: contract.contractType == 'sale' ? shipmentFileInfo.saleShipmentOther && timeFormate(shipmentFileInfo.saleShipmentOther) : shipmentFileInfo.purchaseShipmentOther && timeFormate(shipmentFileInfo.purchaseShipmentOther),
|
|
1075
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
1076
|
+
}"></ContentTitle>
|
|
1077
|
+
<span class="bg-history" @click="handleHistory('sale_shipment_other', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
1078
|
+
</div>
|
|
989
1079
|
</el-col>
|
|
990
1080
|
<el-col :span="24" v-if="contract.contractType == 'sale'">
|
|
991
1081
|
<div class="file-list">
|
|
@@ -1026,17 +1116,12 @@
|
|
|
1026
1116
|
</div>
|
|
1027
1117
|
|
|
1028
1118
|
<!-- 收货 -->
|
|
1029
|
-
<div>
|
|
1030
|
-
<BillOfLadingNoTab
|
|
1031
|
-
:contractFileInfo="contractFileInfo"
|
|
1032
|
-
@changeShipBillNo="changeShipBillNo"
|
|
1033
|
-
:progressInfo="getGoodsProgressInfo"
|
|
1034
|
-
:shipBillNoProp="shipBillNo"
|
|
1035
|
-
></BillOfLadingNoTab>
|
|
1119
|
+
<div id="contract_receiving_id">
|
|
1036
1120
|
<SectionSlot
|
|
1121
|
+
ref="SectionReceiving"
|
|
1037
1122
|
:infoPro="getGoodsProgressInfo" v-for="(
|
|
1038
1123
|
shipmentFileInfo, shipmentIndex
|
|
1039
|
-
) in contractFileInfo.shipmentFileInfoList" :key="shipmentIndex" v-if="shipmentIndex == shipBillNo"
|
|
1124
|
+
) in contractFileInfo.shipmentFileInfoList" :key="'receiving'+shipmentIndex" v-if="shipmentIndex == shipBillNo"
|
|
1040
1125
|
>
|
|
1041
1126
|
<template v-slot:header>
|
|
1042
1127
|
<div>
|
|
@@ -1046,76 +1131,18 @@
|
|
|
1046
1131
|
<template v-slot:content>
|
|
1047
1132
|
<div class="content-root">
|
|
1048
1133
|
<div>
|
|
1049
|
-
|
|
1050
|
-
{
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
}
|
|
1134
|
+
<div class="content-root-row">
|
|
1135
|
+
<ContentTitle :contentTitleProp="{
|
|
1136
|
+
bgButton: $t('contractDetail.tip7'),
|
|
1137
|
+
bgTime: shipmentFileInfo.deliveryReceipt && timeFormate(shipmentFileInfo.deliveryReceipt),
|
|
1138
|
+
bgcolor: getGoodsProgressInfo.bgcolor
|
|
1139
|
+
}"></ContentTitle>
|
|
1140
|
+
<span class="bg-history" @click="handleHistory('shipment_delivery_receipt', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
1055
1141
|
</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
1142
|
<el-col :span="24">
|
|
1117
1143
|
<div class="file-list">
|
|
1118
1144
|
<file-show @refresh="handleRefresh" @checked="handleChecked" @uncheck="handleUncheck"
|
|
1145
|
+
deleteTips="你确定要删除文件吗?删除后,电放状态将会回退到未电放?"
|
|
1119
1146
|
:hiddenOperation="channel == 'official-website'"
|
|
1120
1147
|
:selectFileListProp="selectFileList"
|
|
1121
1148
|
:file-info="item" v-for="(item, i) in shipmentFileInfo.deliveryReceipt" :key="i" />
|
|
@@ -1146,17 +1173,12 @@
|
|
|
1146
1173
|
</div>
|
|
1147
1174
|
<!-- 索赔 -->
|
|
1148
1175
|
<div v-if="contractFileInfo.claimCreateFlag">
|
|
1149
|
-
<BillOfLadingNoTab
|
|
1150
|
-
:contractFileInfo="contractFileInfo"
|
|
1151
|
-
@changeShipBillNo="changeShipBillNo"
|
|
1152
|
-
:progressInfo="shipProgressInfo"
|
|
1153
|
-
:shipBillNoProp="shipBillNo"
|
|
1154
|
-
></BillOfLadingNoTab>
|
|
1155
1176
|
<SectionSlot
|
|
1177
|
+
ref="SectionClaim"
|
|
1156
1178
|
:infoPro="claimProgressInfo"
|
|
1157
1179
|
v-for="(
|
|
1158
1180
|
shipmentFileInfo, shipmentIndex
|
|
1159
|
-
) in contractFileInfo.shipmentFileInfoList" :key="shipmentIndex"
|
|
1181
|
+
) in contractFileInfo.shipmentFileInfoList" :key="'claim'+shipmentIndex"
|
|
1160
1182
|
v-if="shipmentIndex == shipBillNo"
|
|
1161
1183
|
>
|
|
1162
1184
|
<template v-slot:header>
|
|
@@ -1167,30 +1189,21 @@
|
|
|
1167
1189
|
<template v-slot:content>
|
|
1168
1190
|
<div class="content-root">
|
|
1169
1191
|
<div>
|
|
1170
|
-
<
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1192
|
+
<div class="content-root-row">
|
|
1193
|
+
<ContentTitle :contentTitleProp="{
|
|
1194
|
+
bgButton: !buyerFlag
|
|
1195
|
+
? $t('contractDetail.Credit_Note')
|
|
1196
|
+
: $t('contractDetail.Debit_Note'),
|
|
1197
|
+
bgTime: claimFileInfoCom && timeFormate(claimFileInfoCom),
|
|
1198
|
+
bgcolor: claimProgressInfo.bgcolor
|
|
1199
|
+
}"></ContentTitle>
|
|
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
|
-
:hiddenOperation="
|
|
1205
|
+
:hiddenOperation="true"
|
|
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,21 @@ 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
|
+
setTimeout(() => {
|
|
1632
|
+
return this.$refs['container_packing_photo_' + containerId] && this.$refs['container_packing_photo_' + containerId][0]?.hasSelectAll()
|
|
1633
|
+
}, 1000);
|
|
1570
1634
|
},
|
|
1571
1635
|
|
|
1572
1636
|
changeShipBillNo(index) {
|
|
@@ -2111,12 +2175,15 @@ export default {
|
|
|
2111
2175
|
this.setRate(this.shipBillNo)
|
|
2112
2176
|
});
|
|
2113
2177
|
},
|
|
2114
|
-
|
|
2178
|
+
// 合同 定金发票 尾款发票 装箱单 不需要传 visible=false,其余的均需要传
|
|
2179
|
+
handleHistory(fileType, linkId, visible) {
|
|
2180
|
+
console.log('handleHistory', fileType, linkId, visible)
|
|
2115
2181
|
this.$router.push({
|
|
2116
2182
|
path: '/contract/file/history',
|
|
2117
2183
|
query: {
|
|
2118
|
-
linkId:
|
|
2184
|
+
linkId: linkId,
|
|
2119
2185
|
fileType: fileType,
|
|
2186
|
+
visible: visible === false ? "0" : null,
|
|
2120
2187
|
},
|
|
2121
2188
|
});
|
|
2122
2189
|
},
|
|
@@ -2255,6 +2322,19 @@ export default {
|
|
|
2255
2322
|
},
|
|
2256
2323
|
},
|
|
2257
2324
|
computed: {
|
|
2325
|
+
personalBillFileInfo: function() {
|
|
2326
|
+
if (this.contractFileInfo.bliFileInfoList && this.contractFileInfo.bliFileInfoList.length > 0) {
|
|
2327
|
+
return this.contractFileInfo.bliFileInfoList[0].personalBillFileInfo
|
|
2328
|
+
}
|
|
2329
|
+
return null
|
|
2330
|
+
},
|
|
2331
|
+
latestBillFileInfo: function() {
|
|
2332
|
+
if (this.contractFileInfo.bliFileInfoList && this.contractFileInfo.bliFileInfoList.length > 0) {
|
|
2333
|
+
return this.contractFileInfo.bliFileInfoList[0].latestBillFileInfo
|
|
2334
|
+
}
|
|
2335
|
+
return null
|
|
2336
|
+
},
|
|
2337
|
+
|
|
2258
2338
|
// 销售获取最新的尾款发票
|
|
2259
2339
|
getNewInfo() {
|
|
2260
2340
|
// 时间比较
|
|
@@ -2331,13 +2411,13 @@ export default {
|
|
|
2331
2411
|
},
|
|
2332
2412
|
},
|
|
2333
2413
|
watch: {
|
|
2334
|
-
selectFileListProp: {
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
},
|
|
2414
|
+
// selectFileListProp: {
|
|
2415
|
+
// handler(val) {
|
|
2416
|
+
// this.selectFileList = val
|
|
2417
|
+
// },
|
|
2418
|
+
// immediate: true,
|
|
2419
|
+
// deep: true
|
|
2420
|
+
// },
|
|
2341
2421
|
},
|
|
2342
2422
|
destroyed() {
|
|
2343
2423
|
clearTimeout(this.timer);
|
|
@@ -2354,15 +2434,18 @@ export default {
|
|
|
2354
2434
|
}
|
|
2355
2435
|
|
|
2356
2436
|
.progress-root {
|
|
2437
|
+
padding: 0 20px;
|
|
2357
2438
|
display: flex;
|
|
2439
|
+
height: 60px;
|
|
2440
|
+
background-color: white;
|
|
2441
|
+
width: 100%;
|
|
2442
|
+
align-items: center;
|
|
2358
2443
|
}
|
|
2359
2444
|
|
|
2360
2445
|
.selection-root {
|
|
2361
2446
|
display: flex;
|
|
2362
|
-
margin-top: 26px;
|
|
2363
2447
|
justify-content: flex-start;
|
|
2364
2448
|
align-items: center;
|
|
2365
|
-
margin-bottom: 20px;
|
|
2366
2449
|
}
|
|
2367
2450
|
|
|
2368
2451
|
.border-button {
|
|
@@ -2380,9 +2463,18 @@ export default {
|
|
|
2380
2463
|
cursor: pointer;
|
|
2381
2464
|
}
|
|
2382
2465
|
|
|
2466
|
+
.border-button-blue {
|
|
2467
|
+
background-color: #54B8FF;
|
|
2468
|
+
color: white;
|
|
2469
|
+
border: 0;
|
|
2470
|
+
line-height: 21px;
|
|
2471
|
+
}
|
|
2472
|
+
|
|
2383
2473
|
.border-button-share {
|
|
2384
|
-
|
|
2385
|
-
|
|
2474
|
+
margin-right: 5px;
|
|
2475
|
+
background-color: #84db4c;
|
|
2476
|
+
border: 0;
|
|
2477
|
+
line-height: 21px;
|
|
2386
2478
|
}
|
|
2387
2479
|
|
|
2388
2480
|
.slot-content {
|
|
@@ -2408,6 +2500,26 @@ export default {
|
|
|
2408
2500
|
}
|
|
2409
2501
|
}
|
|
2410
2502
|
|
|
2503
|
+
.selection-root {
|
|
2504
|
+
margin-left: 16px;
|
|
2505
|
+
display: flex;
|
|
2506
|
+
flex-direction: row;
|
|
2507
|
+
align-items: center;
|
|
2508
|
+
margin-right: 16px;
|
|
2509
|
+
}
|
|
2510
|
+
|
|
2511
|
+
// .border-button {
|
|
2512
|
+
// padding: 0 10px;
|
|
2513
|
+
// width: max-content;
|
|
2514
|
+
// height: 21px;
|
|
2515
|
+
// text-align: center;
|
|
2516
|
+
// line-height: 17px;
|
|
2517
|
+
// background: #ffffff;
|
|
2518
|
+
// border-radius: 11px;
|
|
2519
|
+
// font-size: 12px;
|
|
2520
|
+
// border: 2px solid #d1d3d4;
|
|
2521
|
+
// cursor: pointer;
|
|
2522
|
+
// }
|
|
2411
2523
|
|
|
2412
2524
|
.content-root {
|
|
2413
2525
|
overflow: hidden;
|