doctor-admin-components 1.0.14-beta.2 → 1.0.14-beta.21
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/utils/zip.js +29 -11
- package/packages/src/views/biz/bizFileInfo/contract.vue +482 -361
- 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 +22 -14
- package/packages/src/views/biz/contractTracing/companyBanks.vue +15 -5
- package/packages/src/views/biz/contractTracing/contractPdf.vue +2 -7
- package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +5 -77
|
@@ -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,55 @@
|
|
|
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
|
+
|
|
440
460
|
<el-col :span="24">
|
|
441
461
|
<div class="hr-class"></div>
|
|
442
462
|
</el-col>
|
|
463
|
+
|
|
443
464
|
<!-- 装箱单 -->
|
|
444
|
-
<
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
465
|
+
<el-row>
|
|
466
|
+
<el-col :span="24">
|
|
467
|
+
<div class="content-root-row">
|
|
468
|
+
<ContentTitle :contentTitleProp="{
|
|
469
|
+
bgButton: $t('contractDetail.packingList'),
|
|
470
|
+
bgTime: contract.contractType == 'purchase' ? shipmentFileInfo.purchasePersonalPackingList && timeFormate(shipmentFileInfo.purchasePersonalPackingList) : shipmentFileInfo.packingList && timeFormate(shipmentFileInfo.packingList),
|
|
471
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
472
|
+
}"></ContentTitle>
|
|
473
|
+
<span class="bg-history" @click="handleHistory(contract.contractType == 'purchase' ? 'purchase_personal_shipment_packing_list' : 'shipment_packing_list', shipmentFileInfo.shipmentId)">{{ $t('contractDetail.view_history') }}</span>
|
|
474
|
+
<div class="sub-title" style="margin-bottom: 0;" v-if="contract.contractType == 'purchase'">
|
|
452
475
|
<span style="color: #1890ff; cursor: pointer" v-if="shipmentFileInfo &&
|
|
453
476
|
shipmentFileInfo.purchasePersonalPackingList &&
|
|
454
477
|
shipmentFileInfo.purchasePersonalPackingList[0] &&
|
|
@@ -465,41 +488,49 @@
|
|
|
465
488
|
shipmentFileInfo && shipmentFileInfo.shipmentId,
|
|
466
489
|
'packing'
|
|
467
490
|
)
|
|
468
|
-
">
|
|
491
|
+
">
|
|
492
|
+
<el-divider direction="vertical"></el-divider>
|
|
493
|
+
{{ identify }}
|
|
469
494
|
</span>
|
|
470
495
|
</div>
|
|
471
|
-
|
|
496
|
+
</div>
|
|
497
|
+
</el-col>
|
|
498
|
+
</el-row>
|
|
499
|
+
<el-row v-if="contract.contractType == 'purchase'">
|
|
500
|
+
<div>
|
|
501
|
+
<ShowAndHide :dataInfoArr="shipmentFileInfo.purchasePersonalPackingList" heightStr="94px" :HideAmount="2">
|
|
472
502
|
<template>
|
|
473
|
-
<
|
|
474
|
-
<
|
|
475
|
-
|
|
476
|
-
<
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
503
|
+
<div style="display: flex; justify-content: space-between;width: 100%;">
|
|
504
|
+
<el-col :span="12" v-if="shipmentFileInfo.purchasePersonalPackingList && shipmentFileInfo.purchasePersonalPackingList.length > 0">
|
|
505
|
+
<div class="file-list">
|
|
506
|
+
<file-show :hiddenOperation=" channel == 'official-website'" @refresh="handleRefresh"
|
|
507
|
+
@checked="handleChecked" @uncheck="handleUncheck" :selectFileListProp="selectFileList" :file-info="item" v-for="(
|
|
508
|
+
item, i
|
|
509
|
+
) in shipmentFileInfo.purchasePersonalPackingList" :key="i" />
|
|
510
|
+
</div>
|
|
511
|
+
</el-col>
|
|
512
|
+
<el-col :span="12">
|
|
513
|
+
<div class="file-list">
|
|
514
|
+
<contract-file-drag-upload
|
|
515
|
+
@upload="handleUpload(
|
|
516
|
+
$event,
|
|
517
|
+
shipmentFileInfo.shipmentId,
|
|
518
|
+
'shipment',
|
|
519
|
+
'purchase_personal_shipment_packing_list'
|
|
520
|
+
)"
|
|
521
|
+
:isShowTip="false"
|
|
522
|
+
:uploadNameStr="$t('contractDetail.packingList')"
|
|
523
|
+
/>
|
|
524
|
+
</div>
|
|
525
|
+
</el-col>
|
|
526
|
+
</div>
|
|
496
527
|
</template>
|
|
497
528
|
</ShowAndHide>
|
|
498
529
|
</div>
|
|
499
530
|
</el-row>
|
|
500
531
|
<el-row v-if="contract.contractType == 'sale'">
|
|
501
532
|
<div>
|
|
502
|
-
<ShowAndHide :dataInfoArr="shipmentFileInfo.packingList || []" heightStr="
|
|
533
|
+
<ShowAndHide :dataInfoArr="shipmentFileInfo.packingList || []" heightStr="94px" :HideAmount="2">
|
|
503
534
|
<el-col :span="24">
|
|
504
535
|
<div class="file-list">
|
|
505
536
|
<el-col :span="12" v-if="!shipmentFileInfo.packingList || shipmentFileInfo.packingList.length == 0" class="center-status">
|
|
@@ -542,14 +573,15 @@
|
|
|
542
573
|
bgTime: containerFile.packingPhoto && timeFormate(containerFile.packingPhoto),
|
|
543
574
|
bgcolor: shipProgressInfo.bgcolor
|
|
544
575
|
}"></ContentTitle>
|
|
576
|
+
<span class="bg-history" @click="handleHistory('container_packing_photo', containerFile.containerId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
545
577
|
<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
578
|
<div class="border-button border-button-share"
|
|
552
|
-
@click.stop="shareContainerUrl(containerFile.containerId)">{{ $t('contractDetail.share') }}
|
|
579
|
+
@click.stop="shareContainerUrl(containerFile.containerId)">{{ $t('contractDetail.share') }}
|
|
580
|
+
</div>
|
|
581
|
+
<el-divider direction="vertical"></el-divider>
|
|
582
|
+
<div :class="hasSelectAllContainer(containerFile.containerId) ? 'border-button' : 'border-button border-button-blue'" @click.stop="clickSelectAllContainer(containerFile.containerId)">
|
|
583
|
+
{{ hasSelectAllContainer(containerFile.containerId) ? $t('contractDetail.select_all') : $t('contractDetail.Deselect') }}
|
|
584
|
+
</div>
|
|
553
585
|
</div>
|
|
554
586
|
</div>
|
|
555
587
|
</el-col>
|
|
@@ -586,30 +618,28 @@
|
|
|
586
618
|
<div class="hr-class"></div>
|
|
587
619
|
</el-col>
|
|
588
620
|
<el-col :span="24" style="display:flex;align-items:center">
|
|
589
|
-
<
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
621
|
+
<div class="content-root-row">
|
|
622
|
+
<ContentTitle :contentTitleProp="{
|
|
623
|
+
bgButton: $t('contractDetail.draftBillOfLading'),
|
|
624
|
+
bgTime: shipmentFileInfo.draftBillOfLading && timeFormate(shipmentFileInfo.draftBillOfLading),
|
|
625
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
626
|
+
}"></ContentTitle>
|
|
627
|
+
<span class="bg-history" @click="handleHistory('draft_bill_of_lading', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
628
|
+
</div>
|
|
629
|
+
|
|
630
|
+
<span
|
|
595
631
|
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
|
-
"
|
|
632
|
+
v-if="draftBillOfLadingUrl(shipmentFileInfo)"
|
|
602
633
|
@click="
|
|
603
634
|
identifyPage(
|
|
604
|
-
shipmentFileInfo
|
|
605
|
-
shipmentFileInfo.draftBillOfLading &&
|
|
606
|
-
shipmentFileInfo.draftBillOfLading[0] &&
|
|
607
|
-
shipmentFileInfo.draftBillOfLading[0].url,
|
|
635
|
+
draftBillOfLadingUrl(shipmentFileInfo),
|
|
608
636
|
shipmentFileInfo && shipmentFileInfo.shipmentId,
|
|
609
637
|
'draft_bill'
|
|
610
638
|
)
|
|
611
639
|
"
|
|
612
|
-
>
|
|
640
|
+
>
|
|
641
|
+
<el-divider direction="vertical"></el-divider>
|
|
642
|
+
{{ identify }}</span>
|
|
613
643
|
</el-col>
|
|
614
644
|
<el-col :span="24">
|
|
615
645
|
<el-col :span="12">
|
|
@@ -659,11 +689,14 @@
|
|
|
659
689
|
<div class="hr-class"></div>
|
|
660
690
|
</el-col>
|
|
661
691
|
<el-col :span="24">
|
|
662
|
-
<
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
692
|
+
<div class="content-root-row">
|
|
693
|
+
<ContentTitle :contentTitleProp="{
|
|
694
|
+
bgButton: $t('contractDetail.Copy_of_formal_bill_of_lading'),
|
|
695
|
+
bgTime: shipmentFileInfo.originalBillOfLadingCopy && timeFormate(shipmentFileInfo.originalBillOfLadingCopy),
|
|
696
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
697
|
+
}"></ContentTitle>
|
|
698
|
+
<span class="bg-history" @click="handleHistory('original_bill_of_lading_copy', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
699
|
+
</div>
|
|
667
700
|
</el-col>
|
|
668
701
|
<el-col :span="24">
|
|
669
702
|
<div class="file-list">
|
|
@@ -693,11 +726,14 @@
|
|
|
693
726
|
<div class="hr-class"></div>
|
|
694
727
|
</el-col>
|
|
695
728
|
<el-col :span="24" v-if="contract.quoteType != 'FIXED'">
|
|
696
|
-
<
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
729
|
+
<div class="content-root-row">
|
|
730
|
+
<ContentTitle :contentTitleProp="{
|
|
731
|
+
bgButton: $t('contractDetail.saleTemporaryFinallyInvoice'),
|
|
732
|
+
bgTime: shipmentFileInfo.salePersonalTemporaryFinallyInvoice && timeFormate(shipmentFileInfo.salePersonalTemporaryFinallyInvoice),
|
|
733
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
734
|
+
}"></ContentTitle>
|
|
735
|
+
<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>
|
|
736
|
+
</div>
|
|
701
737
|
<div class="sub-title">
|
|
702
738
|
<span
|
|
703
739
|
v-if="
|
|
@@ -706,7 +742,9 @@
|
|
|
706
742
|
"
|
|
707
743
|
style="color: #1890ff; cursor: pointer; margin-left: 10px"
|
|
708
744
|
@click.stop="identifyPageBoth(shipmentFileInfo, 1)"
|
|
709
|
-
>
|
|
745
|
+
>
|
|
746
|
+
<el-divider direction="vertical"></el-divider>
|
|
747
|
+
{{ identify }}</span>
|
|
710
748
|
</div>
|
|
711
749
|
<el-col :span="12" v-if="channel == 'official-website' && shipmentFileInfo.salePersonalTemporaryFinallyInvoice && shipmentFileInfo.salePersonalTemporaryFinallyInvoice.length == 0" class="center-status">
|
|
712
750
|
<i class="el-icon-time"></i>
|
|
@@ -738,8 +776,8 @@
|
|
|
738
776
|
shipmentFileInfo.shipmentId,
|
|
739
777
|
'shipment',
|
|
740
778
|
'sale_personal_temporary_finally_invoice'
|
|
741
|
-
)
|
|
742
|
-
|
|
779
|
+
)"
|
|
780
|
+
:isShowTip="false" :uploadNameStr="$t('contractDetail.saleTemporaryFinallyInvoice')" />
|
|
743
781
|
</div>
|
|
744
782
|
<div class="file-list" v-else>
|
|
745
783
|
<file-show :hiddenOperation="channel == 'official-website'" @refresh="handleRefresh"
|
|
@@ -753,8 +791,8 @@
|
|
|
753
791
|
shipmentFileInfo.shipmentId,
|
|
754
792
|
'shipment',
|
|
755
793
|
'purchase_temporary_finally_invoice'
|
|
756
|
-
)
|
|
757
|
-
|
|
794
|
+
)"
|
|
795
|
+
:isShowTip="false" :uploadNameStr="$t('contractDetail.saleTemporaryFinallyInvoice')" />
|
|
758
796
|
</div>
|
|
759
797
|
</div>
|
|
760
798
|
</el-col>
|
|
@@ -792,12 +830,15 @@
|
|
|
792
830
|
bgTime: contract.contractType == 'sale' ? getNewInfo && timeFormate(getNewInfo) : shipmentFileInfo.purchaseFinallyInvoice && timeFormate(shipmentFileInfo.purchaseFinallyInvoice),
|
|
793
831
|
bgcolor: shipProgressInfo.bgcolor
|
|
794
832
|
}"></ContentTitle>
|
|
833
|
+
<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
834
|
<span
|
|
796
835
|
v-if="
|
|
797
836
|
channel !== 'official-website' && contract.contractType == 'purchase' && shipmentFileInfo.purchaseFinallyInvoice && shipmentFileInfo.purchaseFinallyInvoice.length > 0"
|
|
798
837
|
style="color: #1890ff; cursor: pointer; margin-left: 10px;font-size:14px;"
|
|
799
838
|
@click.stop="identifyPageBoth(shipmentFileInfo, 2)"
|
|
800
|
-
>
|
|
839
|
+
>
|
|
840
|
+
<el-divider direction="vertical"></el-divider>
|
|
841
|
+
{{ identify }}
|
|
801
842
|
</span>
|
|
802
843
|
</div>
|
|
803
844
|
<!-- <div class="sub-title"> -->
|
|
@@ -981,11 +1022,14 @@
|
|
|
981
1022
|
</el-col>
|
|
982
1023
|
|
|
983
1024
|
<el-col :span="24">
|
|
984
|
-
<
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
1025
|
+
<div class="content-root-row">
|
|
1026
|
+
<ContentTitle :contentTitleProp="{
|
|
1027
|
+
bgButton: $t('contractDetail.otherFile'),
|
|
1028
|
+
bgTime: contract.contractType == 'sale' ? shipmentFileInfo.saleShipmentOther && timeFormate(shipmentFileInfo.saleShipmentOther) : shipmentFileInfo.purchaseShipmentOther && timeFormate(shipmentFileInfo.purchaseShipmentOther),
|
|
1029
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
1030
|
+
}"></ContentTitle>
|
|
1031
|
+
<span class="bg-history" @click="handleHistory('sale_shipment_other', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
1032
|
+
</div>
|
|
989
1033
|
</el-col>
|
|
990
1034
|
<el-col :span="24" v-if="contract.contractType == 'sale'">
|
|
991
1035
|
<div class="file-list">
|
|
@@ -1019,6 +1063,51 @@
|
|
|
1019
1063
|
:uploadNameStr="$t('contractDetail.otherFile')" />
|
|
1020
1064
|
</div>
|
|
1021
1065
|
</el-col>
|
|
1066
|
+
|
|
1067
|
+
<div v-if="channel !== 'official-website'">
|
|
1068
|
+
<el-col :span="24" style="padding-top: 20px;">
|
|
1069
|
+
<span>内部文件夹</span>
|
|
1070
|
+
<div class="file-list" v-if="contract.contractType == 'purchase'">
|
|
1071
|
+
<file-show
|
|
1072
|
+
@refresh="handleRefresh"
|
|
1073
|
+
@checked="handleChecked"
|
|
1074
|
+
:hiddenOperation="channel == 'official-website'"
|
|
1075
|
+
@uncheck="handleUncheck"
|
|
1076
|
+
:selectFileListProp="selectFileList"
|
|
1077
|
+
:file-info="item"
|
|
1078
|
+
v-for="(item, i) in shipmentFileInfo.purchaseShipmentInternalFile" :key="i" />
|
|
1079
|
+
<contract-file-drag-upload
|
|
1080
|
+
@upload="
|
|
1081
|
+
handleUpload(
|
|
1082
|
+
$event,
|
|
1083
|
+
shipmentFileInfo.shipmentId,
|
|
1084
|
+
'shipment',
|
|
1085
|
+
'purchase_shipment_internal_file'
|
|
1086
|
+
)"
|
|
1087
|
+
:isShowTip="false" uploadNameStr="内部文件" />
|
|
1088
|
+
</div>
|
|
1089
|
+
<div class="file-list" v-else>
|
|
1090
|
+
<file-show
|
|
1091
|
+
@refresh="handleRefresh"
|
|
1092
|
+
@checked="handleChecked"
|
|
1093
|
+
:hiddenOperation="channel == 'official-website'"
|
|
1094
|
+
@uncheck="handleUncheck"
|
|
1095
|
+
:selectFileListProp="selectFileList"
|
|
1096
|
+
:file-info="item"
|
|
1097
|
+
v-for="(item, i) in shipmentFileInfo.saleShipmentInternalFile" :key="i" />
|
|
1098
|
+
<contract-file-drag-upload
|
|
1099
|
+
@upload="
|
|
1100
|
+
handleUpload(
|
|
1101
|
+
$event,
|
|
1102
|
+
shipmentFileInfo.shipmentId,
|
|
1103
|
+
'shipment',
|
|
1104
|
+
'sale_shipment_internal_file'
|
|
1105
|
+
)"
|
|
1106
|
+
:isShowTip="false" uploadNameStr="内部文件" />
|
|
1107
|
+
</div>
|
|
1108
|
+
</el-col>
|
|
1109
|
+
</div>
|
|
1110
|
+
|
|
1022
1111
|
</div>
|
|
1023
1112
|
</template>
|
|
1024
1113
|
</SectionSlot>
|
|
@@ -1026,17 +1115,12 @@
|
|
|
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
|
-
) in contractFileInfo.shipmentFileInfoList" :key="shipmentIndex" v-if="shipmentIndex == shipBillNo"
|
|
1123
|
+
) in contractFileInfo.shipmentFileInfoList" :key="'receiving'+shipmentIndex" v-if="shipmentIndex == shipBillNo"
|
|
1040
1124
|
>
|
|
1041
1125
|
<template v-slot:header>
|
|
1042
1126
|
<div>
|
|
@@ -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,17 +1172,12 @@
|
|
|
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
|
|
1159
|
-
) in contractFileInfo.shipmentFileInfoList" :key="shipmentIndex"
|
|
1180
|
+
) in contractFileInfo.shipmentFileInfoList" :key="'claim'+shipmentIndex"
|
|
1160
1181
|
v-if="shipmentIndex == shipBillNo"
|
|
1161
1182
|
>
|
|
1162
1183
|
<template v-slot:header>
|
|
@@ -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
|
-
: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,62 @@ export default {
|
|
|
1549
1544
|
},
|
|
1550
1545
|
mounted() { },
|
|
1551
1546
|
methods: {
|
|
1547
|
+
// 装运模块状态变化,需要同步关联模块
|
|
1548
|
+
handleShippingUpdateOpen(isOpen) {
|
|
1549
|
+
this.$refs.SectionReceiving[0]?.setOpen(isOpen)
|
|
1550
|
+
this.$refs.SectionClaim[0]?.setOpen(isOpen)
|
|
1551
|
+
this.$refs.SectionCNDN?.setOpen(isOpen)
|
|
1552
|
+
},
|
|
1553
|
+
handleScroll(elementId) {
|
|
1554
|
+
document.getElementById(elementId).scrollIntoView()
|
|
1555
|
+
},
|
|
1556
|
+
/**
|
|
1557
|
+
* @description: 取消全部选择
|
|
1558
|
+
* @return {*}
|
|
1559
|
+
*/
|
|
1560
|
+
cancelAll() {
|
|
1561
|
+
this.cancelAllSelectFileList()
|
|
1562
|
+
},
|
|
1563
|
+
|
|
1564
|
+
/**
|
|
1565
|
+
* @description: 全部下载
|
|
1566
|
+
* @return {*}
|
|
1567
|
+
*/
|
|
1568
|
+
downLoadAll() {
|
|
1569
|
+
if (this.selectFileList.length == 0) {
|
|
1570
|
+
return this.$message.warning(this.$t('contractDetail.please_select_file'))
|
|
1571
|
+
}
|
|
1572
|
+
this.downloadZip()
|
|
1573
|
+
},
|
|
1574
|
+
|
|
1575
|
+
deleteAll() {
|
|
1576
|
+
console.log('==delBizFileInfo==', this.selectFileList)
|
|
1577
|
+
if (this.selectFileList.length == 0) {
|
|
1578
|
+
return this.$message.warning(this.$t('contractDetail.please_select_file'))
|
|
1579
|
+
}
|
|
1580
|
+
|
|
1581
|
+
this.$confirm('是否删除选中文件', '提示', {
|
|
1582
|
+
confirmButtonText: '确定',
|
|
1583
|
+
cancelButtonText: '取消',
|
|
1584
|
+
type: 'warning'
|
|
1585
|
+
})
|
|
1586
|
+
.then(() => {
|
|
1587
|
+
const ids = this.selectFileList.map((item) => item.fileId)
|
|
1588
|
+
delBizFileInfo(ids).then(() => {
|
|
1589
|
+
this.$message.success('删除成功')
|
|
1590
|
+
this.selectFileList = []
|
|
1591
|
+
this.handleRefresh()
|
|
1592
|
+
})
|
|
1593
|
+
})
|
|
1594
|
+
.catch(() => {
|
|
1595
|
+
this.$message.info('已取消删除')
|
|
1596
|
+
})
|
|
1597
|
+
},
|
|
1598
|
+
|
|
1599
|
+
draftBillOfLadingUrl(shipmentFileInfo) {
|
|
1600
|
+
return shipmentFileInfo && shipmentFileInfo.draftBillOfLading && shipmentFileInfo.draftBillOfLading[0] && shipmentFileInfo.draftBillOfLading[0].url
|
|
1601
|
+
},
|
|
1602
|
+
|
|
1552
1603
|
/**
|
|
1553
1604
|
* @description:
|
|
1554
1605
|
* @param {*} info
|
|
@@ -1562,11 +1613,21 @@ export default {
|
|
|
1562
1613
|
}
|
|
1563
1614
|
},
|
|
1564
1615
|
|
|
1565
|
-
allSelectContainerPackingPhoto(containerId) {
|
|
1566
|
-
|
|
1616
|
+
// allSelectContainerPackingPhoto(containerId) {
|
|
1617
|
+
// this.$refs['container_packing_photo_' + containerId][0].checkAll1()
|
|
1618
|
+
// },
|
|
1619
|
+
// cancelContainerPackingPhoto(containerId) {
|
|
1620
|
+
// this.$refs['container_packing_photo_' + containerId][0].cancelAll1()
|
|
1621
|
+
// },
|
|
1622
|
+
|
|
1623
|
+
clickSelectAllContainer(containerId) {
|
|
1624
|
+
return this.$refs['container_packing_photo_' + containerId][0].clickSelectAll()
|
|
1567
1625
|
},
|
|
1568
|
-
|
|
1569
|
-
|
|
1626
|
+
|
|
1627
|
+
hasSelectAllContainer(containerId) {
|
|
1628
|
+
setTimeout(() => {
|
|
1629
|
+
return this.$refs['container_packing_photo_' + containerId] && this.$refs['container_packing_photo_' + containerId][0]?.hasSelectAll()
|
|
1630
|
+
}, 1000);
|
|
1570
1631
|
},
|
|
1571
1632
|
|
|
1572
1633
|
changeShipBillNo(index) {
|
|
@@ -2070,17 +2131,12 @@ export default {
|
|
|
2070
2131
|
|
|
2071
2132
|
// 索赔进度
|
|
2072
2133
|
let claimTextArr = []
|
|
2073
|
-
if(this.contractFileInfo.claimCreateFlag && !this.contractFileInfo.
|
|
2134
|
+
if(this.contractFileInfo.claimCreateFlag && !this.contractFileInfo.claimCloseFlag) {
|
|
2074
2135
|
// 索赔中(英文:Claiming)
|
|
2075
2136
|
claimTextArr.push(this.$t('contractDetail.claiming'))
|
|
2076
2137
|
}
|
|
2077
2138
|
|
|
2078
|
-
if(this.contractFileInfo.claimCreateFlag && this.contractFileInfo.
|
|
2079
|
-
// 文件已更新(英文:Claiming-CN/DN issued
|
|
2080
|
-
claimTextArr.push(this.$t('contractDetail.claiming_update'))
|
|
2081
|
-
}
|
|
2082
|
-
|
|
2083
|
-
if(this.contractFileInfo.claimCreateFlag && this.contractFileInfo.claimProcessFlag && this.contractFileInfo.claimCloseFlag) {
|
|
2139
|
+
if(this.contractFileInfo.claimCreateFlag && this.contractFileInfo.claimCloseFlag) {
|
|
2084
2140
|
// 索赔已关闭(英文:Claim closed)
|
|
2085
2141
|
claimTextArr.push(this.$t('contractDetail.claiming_closed'))
|
|
2086
2142
|
}
|
|
@@ -2111,12 +2167,15 @@ export default {
|
|
|
2111
2167
|
this.setRate(this.shipBillNo)
|
|
2112
2168
|
});
|
|
2113
2169
|
},
|
|
2114
|
-
|
|
2170
|
+
// 合同 定金发票 尾款发票 装箱单 不需要传 visible=false,其余的均需要传
|
|
2171
|
+
handleHistory(fileType, linkId, visible) {
|
|
2172
|
+
console.log('handleHistory', fileType, linkId, visible)
|
|
2115
2173
|
this.$router.push({
|
|
2116
2174
|
path: '/contract/file/history',
|
|
2117
2175
|
query: {
|
|
2118
|
-
linkId:
|
|
2176
|
+
linkId: linkId,
|
|
2119
2177
|
fileType: fileType,
|
|
2178
|
+
visible: visible === false ? "0" : null,
|
|
2120
2179
|
},
|
|
2121
2180
|
});
|
|
2122
2181
|
},
|
|
@@ -2255,6 +2314,19 @@ export default {
|
|
|
2255
2314
|
},
|
|
2256
2315
|
},
|
|
2257
2316
|
computed: {
|
|
2317
|
+
personalBillFileInfo: function() {
|
|
2318
|
+
if (this.contractFileInfo.bliFileInfoList && this.contractFileInfo.bliFileInfoList.length > 0) {
|
|
2319
|
+
return this.contractFileInfo.bliFileInfoList[0].personalBillFileInfo
|
|
2320
|
+
}
|
|
2321
|
+
return null
|
|
2322
|
+
},
|
|
2323
|
+
latestBillFileInfo: function() {
|
|
2324
|
+
if (this.contractFileInfo.bliFileInfoList && this.contractFileInfo.bliFileInfoList.length > 0) {
|
|
2325
|
+
return this.contractFileInfo.bliFileInfoList[0].latestBillFileInfo
|
|
2326
|
+
}
|
|
2327
|
+
return null
|
|
2328
|
+
},
|
|
2329
|
+
|
|
2258
2330
|
// 销售获取最新的尾款发票
|
|
2259
2331
|
getNewInfo() {
|
|
2260
2332
|
// 时间比较
|
|
@@ -2281,24 +2353,37 @@ export default {
|
|
|
2281
2353
|
|
|
2282
2354
|
},
|
|
2283
2355
|
claimFileInfoCom() {
|
|
2284
|
-
if (
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
) {
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
} else {
|
|
2300
|
-
|
|
2301
|
-
}
|
|
2356
|
+
// if (
|
|
2357
|
+
// (this.contractFileInfo &&
|
|
2358
|
+
// this.contractFileInfo.claimCreditNoteFileList &&
|
|
2359
|
+
// this.contractFileInfo.claimCreditNoteFileList[0]) ||
|
|
2360
|
+
// (this.contractFileInfo &&
|
|
2361
|
+
// this.contractFileInfo.claimDebitNoteFileList &&
|
|
2362
|
+
// this.contractFileInfo.claimDebitNoteFileList[0])
|
|
2363
|
+
// ) {
|
|
2364
|
+
// return !this.buyerFlag
|
|
2365
|
+
// ? this.contractFileInfo &&
|
|
2366
|
+
// this.contractFileInfo.claimCreditNoteFileList &&
|
|
2367
|
+
// this.contractFileInfo.claimCreditNoteFileList
|
|
2368
|
+
// : this.contractFileInfo &&
|
|
2369
|
+
// this.contractFileInfo.claimDebitNoteFileList &&
|
|
2370
|
+
// this.contractFileInfo.claimDebitNoteFileList;
|
|
2371
|
+
// } else {
|
|
2372
|
+
// false;
|
|
2373
|
+
// }
|
|
2374
|
+
if(this.contractFileInfo?.bills) {
|
|
2375
|
+
return this.contractFileInfo.bills.map(item => {
|
|
2376
|
+
let name = item.billType == 'receipt' ? 'DebitNote' : 'CreditNote'
|
|
2377
|
+
item.url = item.billNo + '.pdf'
|
|
2378
|
+
item.fileName = name + item.billNo + '.pdf'
|
|
2379
|
+
item.downloadUrl = '/bill/download?id=' + item.id
|
|
2380
|
+
return item
|
|
2381
|
+
}).filter(item => {
|
|
2382
|
+
return item.businessType == 1
|
|
2383
|
+
})
|
|
2384
|
+
} else {
|
|
2385
|
+
return false
|
|
2386
|
+
}
|
|
2302
2387
|
},
|
|
2303
2388
|
// 采购获取最新的尾款发票
|
|
2304
2389
|
DNbillsCom() {
|
|
@@ -2310,6 +2395,8 @@ export default {
|
|
|
2310
2395
|
item.downloadUrl = '/bill/download?id=' + item.id
|
|
2311
2396
|
return item
|
|
2312
2397
|
}
|
|
2398
|
+
}).filter(item => {
|
|
2399
|
+
return item.businessType != 1
|
|
2313
2400
|
})
|
|
2314
2401
|
} else {
|
|
2315
2402
|
return false
|
|
@@ -2324,6 +2411,8 @@ export default {
|
|
|
2324
2411
|
item.downloadUrl = '/bill/download?id=' + item.id
|
|
2325
2412
|
return item
|
|
2326
2413
|
}
|
|
2414
|
+
}).filter(item => {
|
|
2415
|
+
return item.businessType != 1
|
|
2327
2416
|
})
|
|
2328
2417
|
} else {
|
|
2329
2418
|
return false
|
|
@@ -2331,13 +2420,13 @@ export default {
|
|
|
2331
2420
|
},
|
|
2332
2421
|
},
|
|
2333
2422
|
watch: {
|
|
2334
|
-
selectFileListProp: {
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
},
|
|
2423
|
+
// selectFileListProp: {
|
|
2424
|
+
// handler(val) {
|
|
2425
|
+
// this.selectFileList = val
|
|
2426
|
+
// },
|
|
2427
|
+
// immediate: true,
|
|
2428
|
+
// deep: true
|
|
2429
|
+
// },
|
|
2341
2430
|
},
|
|
2342
2431
|
destroyed() {
|
|
2343
2432
|
clearTimeout(this.timer);
|
|
@@ -2354,15 +2443,18 @@ export default {
|
|
|
2354
2443
|
}
|
|
2355
2444
|
|
|
2356
2445
|
.progress-root {
|
|
2446
|
+
padding: 0 20px;
|
|
2357
2447
|
display: flex;
|
|
2448
|
+
height: 60px;
|
|
2449
|
+
background-color: white;
|
|
2450
|
+
width: 100%;
|
|
2451
|
+
align-items: center;
|
|
2358
2452
|
}
|
|
2359
2453
|
|
|
2360
2454
|
.selection-root {
|
|
2361
2455
|
display: flex;
|
|
2362
|
-
margin-top: 26px;
|
|
2363
2456
|
justify-content: flex-start;
|
|
2364
2457
|
align-items: center;
|
|
2365
|
-
margin-bottom: 20px;
|
|
2366
2458
|
}
|
|
2367
2459
|
|
|
2368
2460
|
.border-button {
|
|
@@ -2370,7 +2462,7 @@ export default {
|
|
|
2370
2462
|
min-width: 45px;
|
|
2371
2463
|
padding: 0 10px;
|
|
2372
2464
|
width: max-content;
|
|
2373
|
-
height: 21px;
|
|
2465
|
+
min-height: 21px;
|
|
2374
2466
|
text-align: center;
|
|
2375
2467
|
line-height: 17px;
|
|
2376
2468
|
background: #FFFFFF;
|
|
@@ -2380,9 +2472,18 @@ export default {
|
|
|
2380
2472
|
cursor: pointer;
|
|
2381
2473
|
}
|
|
2382
2474
|
|
|
2475
|
+
.border-button-blue {
|
|
2476
|
+
background-color: #54B8FF;
|
|
2477
|
+
color: white;
|
|
2478
|
+
border: 0;
|
|
2479
|
+
line-height: 21px;
|
|
2480
|
+
}
|
|
2481
|
+
|
|
2383
2482
|
.border-button-share {
|
|
2384
|
-
|
|
2385
|
-
|
|
2483
|
+
margin-right: 5px;
|
|
2484
|
+
background-color: #84db4c;
|
|
2485
|
+
border: 0;
|
|
2486
|
+
line-height: 21px;
|
|
2386
2487
|
}
|
|
2387
2488
|
|
|
2388
2489
|
.slot-content {
|
|
@@ -2408,6 +2509,26 @@ export default {
|
|
|
2408
2509
|
}
|
|
2409
2510
|
}
|
|
2410
2511
|
|
|
2512
|
+
.selection-root {
|
|
2513
|
+
margin-left: 16px;
|
|
2514
|
+
display: flex;
|
|
2515
|
+
flex-direction: row;
|
|
2516
|
+
align-items: center;
|
|
2517
|
+
margin-right: 16px;
|
|
2518
|
+
}
|
|
2519
|
+
|
|
2520
|
+
// .border-button {
|
|
2521
|
+
// padding: 0 10px;
|
|
2522
|
+
// width: max-content;
|
|
2523
|
+
// height: 21px;
|
|
2524
|
+
// text-align: center;
|
|
2525
|
+
// line-height: 17px;
|
|
2526
|
+
// background: #ffffff;
|
|
2527
|
+
// border-radius: 11px;
|
|
2528
|
+
// font-size: 12px;
|
|
2529
|
+
// border: 2px solid #d1d3d4;
|
|
2530
|
+
// cursor: pointer;
|
|
2531
|
+
// }
|
|
2411
2532
|
|
|
2412
2533
|
.content-root {
|
|
2413
2534
|
overflow: hidden;
|