doctor-admin-components 1.0.14-beta.7 → 1.0.14-beta.71
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 +4 -1
- package/package.json +1 -1
- package/packages/index.js +14 -3
- package/packages/src/api/biz/bizContract.js +36 -9
- package/packages/src/api/biz/bizShipment.js +30 -1
- package/packages/src/i18n/zh-CN/message.json +1 -1
- package/packages/src/index.js +18 -2
- package/packages/src/utils/index.js +1 -1
- package/packages/src/utils/zip.js +29 -11
- package/packages/src/views/biz/bizFileInfo/contract.vue +510 -420
- package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +9 -7
- package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +25 -10
- package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +11 -3
- package/packages/src/views/biz/bizFileInfo/fileShow.vue +11 -5
- package/packages/src/views/biz/bizShipment/add.vue +67 -38
- package/packages/src/views/biz/contractTracing/billInfo.vue +17 -9
- package/packages/src/views/biz/contractTracing/changrLogList.vue +67 -0
- package/packages/src/views/biz/contractTracing/companyBanks.vue +19 -8
- package/packages/src/views/biz/contractTracing/contractClause.vue +356 -0
- package/packages/src/views/biz/contractTracing/contractClauseComponenrts/TextContent.vue +53 -0
- package/packages/src/views/biz/contractTracing/contractPdf.vue +16 -175
- package/packages/src/views/biz/contractTracing/contractSummary.vue +101 -73
- package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +5 -77
- package/packages/src/views/biz/contractTracing/editBill.vue +35 -27
- package/packages/src/views/biz/contractTracing/info.vue +363 -0
- package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +5 -2
- package/packages/src/views/biz/contractTracing/queryDeductionRecords.vue +103 -0
- package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +361 -79
- package/packages/src/views/biz/contractTracing/shipmentPurchaseAmountEditDialog.vue +176 -0
|
@@ -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.Deselect') : $t('contractDetail.select_all') }}
|
|
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,21 +726,23 @@
|
|
|
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
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
729
|
+
<div class="content-root-row" style="display: flex;">
|
|
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
|
+
<span
|
|
737
|
+
v-if="
|
|
738
|
+
channel !== 'official-website' &&
|
|
739
|
+
contract.contractType == 'purchase'
|
|
740
|
+
"
|
|
741
|
+
style="color: #1890ff; cursor: pointer; margin-left: 10px"
|
|
742
|
+
@click.stop="identifyPageBoth(shipmentFileInfo, 1)"
|
|
743
|
+
>
|
|
744
|
+
{{ identify }}</span>
|
|
745
|
+
</div>
|
|
711
746
|
<el-col :span="12" v-if="channel == 'official-website' && shipmentFileInfo.salePersonalTemporaryFinallyInvoice && shipmentFileInfo.salePersonalTemporaryFinallyInvoice.length == 0" class="center-status">
|
|
712
747
|
<i class="el-icon-time"></i>
|
|
713
748
|
{{ $t('contractDetail.Temporary_final_payment_invoice_to_be_updated') }}
|
|
@@ -738,8 +773,8 @@
|
|
|
738
773
|
shipmentFileInfo.shipmentId,
|
|
739
774
|
'shipment',
|
|
740
775
|
'sale_personal_temporary_finally_invoice'
|
|
741
|
-
)
|
|
742
|
-
|
|
776
|
+
)"
|
|
777
|
+
:isShowTip="false" :uploadNameStr="$t('contractDetail.saleTemporaryFinallyInvoice')" />
|
|
743
778
|
</div>
|
|
744
779
|
<div class="file-list" v-else>
|
|
745
780
|
<file-show :hiddenOperation="channel == 'official-website'" @refresh="handleRefresh"
|
|
@@ -753,8 +788,8 @@
|
|
|
753
788
|
shipmentFileInfo.shipmentId,
|
|
754
789
|
'shipment',
|
|
755
790
|
'purchase_temporary_finally_invoice'
|
|
756
|
-
)
|
|
757
|
-
|
|
791
|
+
)"
|
|
792
|
+
:isShowTip="false" :uploadNameStr="$t('contractDetail.saleTemporaryFinallyInvoice')" />
|
|
758
793
|
</div>
|
|
759
794
|
</div>
|
|
760
795
|
</el-col>
|
|
@@ -792,12 +827,15 @@
|
|
|
792
827
|
bgTime: contract.contractType == 'sale' ? getNewInfo && timeFormate(getNewInfo) : shipmentFileInfo.purchaseFinallyInvoice && timeFormate(shipmentFileInfo.purchaseFinallyInvoice),
|
|
793
828
|
bgcolor: shipProgressInfo.bgcolor
|
|
794
829
|
}"></ContentTitle>
|
|
830
|
+
<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
831
|
<span
|
|
796
832
|
v-if="
|
|
797
833
|
channel !== 'official-website' && contract.contractType == 'purchase' && shipmentFileInfo.purchaseFinallyInvoice && shipmentFileInfo.purchaseFinallyInvoice.length > 0"
|
|
798
834
|
style="color: #1890ff; cursor: pointer; margin-left: 10px;font-size:14px;"
|
|
799
835
|
@click.stop="identifyPageBoth(shipmentFileInfo, 2)"
|
|
800
|
-
>
|
|
836
|
+
>
|
|
837
|
+
<el-divider direction="vertical"></el-divider>
|
|
838
|
+
{{ identify }}
|
|
801
839
|
</span>
|
|
802
840
|
</div>
|
|
803
841
|
<!-- <div class="sub-title"> -->
|
|
@@ -981,11 +1019,14 @@
|
|
|
981
1019
|
</el-col>
|
|
982
1020
|
|
|
983
1021
|
<el-col :span="24">
|
|
984
|
-
<
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
1022
|
+
<div class="content-root-row">
|
|
1023
|
+
<ContentTitle :contentTitleProp="{
|
|
1024
|
+
bgButton: $t('contractDetail.otherFile'),
|
|
1025
|
+
bgTime: contract.contractType == 'sale' ? shipmentFileInfo.saleShipmentOther && timeFormate(shipmentFileInfo.saleShipmentOther) : shipmentFileInfo.purchaseShipmentOther && timeFormate(shipmentFileInfo.purchaseShipmentOther),
|
|
1026
|
+
bgcolor: shipProgressInfo.bgcolor
|
|
1027
|
+
}"></ContentTitle>
|
|
1028
|
+
<span class="bg-history" @click="handleHistory('sale_shipment_other', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
1029
|
+
</div>
|
|
989
1030
|
</el-col>
|
|
990
1031
|
<el-col :span="24" v-if="contract.contractType == 'sale'">
|
|
991
1032
|
<div class="file-list">
|
|
@@ -1019,6 +1060,51 @@
|
|
|
1019
1060
|
:uploadNameStr="$t('contractDetail.otherFile')" />
|
|
1020
1061
|
</div>
|
|
1021
1062
|
</el-col>
|
|
1063
|
+
|
|
1064
|
+
<div v-if="channel !== 'official-website'">
|
|
1065
|
+
<el-col :span="24" style="padding-top: 20px;">
|
|
1066
|
+
<span>内部文件夹</span>
|
|
1067
|
+
<div class="file-list" v-if="contract.contractType == 'purchase'">
|
|
1068
|
+
<file-show
|
|
1069
|
+
@refresh="handleRefresh"
|
|
1070
|
+
@checked="handleChecked"
|
|
1071
|
+
:hiddenOperation="channel == 'official-website'"
|
|
1072
|
+
@uncheck="handleUncheck"
|
|
1073
|
+
:selectFileListProp="selectFileList"
|
|
1074
|
+
:file-info="item"
|
|
1075
|
+
v-for="(item, i) in shipmentFileInfo.purchaseShipmentInternalFile" :key="i" />
|
|
1076
|
+
<contract-file-drag-upload
|
|
1077
|
+
@upload="
|
|
1078
|
+
handleUpload(
|
|
1079
|
+
$event,
|
|
1080
|
+
shipmentFileInfo.shipmentId,
|
|
1081
|
+
'shipment',
|
|
1082
|
+
'purchase_shipment_internal_file'
|
|
1083
|
+
)"
|
|
1084
|
+
:isShowTip="false" uploadNameStr="内部文件" />
|
|
1085
|
+
</div>
|
|
1086
|
+
<div class="file-list" v-else>
|
|
1087
|
+
<file-show
|
|
1088
|
+
@refresh="handleRefresh"
|
|
1089
|
+
@checked="handleChecked"
|
|
1090
|
+
:hiddenOperation="channel == 'official-website'"
|
|
1091
|
+
@uncheck="handleUncheck"
|
|
1092
|
+
:selectFileListProp="selectFileList"
|
|
1093
|
+
:file-info="item"
|
|
1094
|
+
v-for="(item, i) in shipmentFileInfo.saleShipmentInternalFile" :key="i" />
|
|
1095
|
+
<contract-file-drag-upload
|
|
1096
|
+
@upload="
|
|
1097
|
+
handleUpload(
|
|
1098
|
+
$event,
|
|
1099
|
+
shipmentFileInfo.shipmentId,
|
|
1100
|
+
'shipment',
|
|
1101
|
+
'sale_shipment_internal_file'
|
|
1102
|
+
)"
|
|
1103
|
+
:isShowTip="false" uploadNameStr="内部文件" />
|
|
1104
|
+
</div>
|
|
1105
|
+
</el-col>
|
|
1106
|
+
</div>
|
|
1107
|
+
|
|
1022
1108
|
</div>
|
|
1023
1109
|
</template>
|
|
1024
1110
|
</SectionSlot>
|
|
@@ -1026,17 +1112,12 @@
|
|
|
1026
1112
|
</div>
|
|
1027
1113
|
|
|
1028
1114
|
<!-- 收货 -->
|
|
1029
|
-
<div>
|
|
1030
|
-
<BillOfLadingNoTab
|
|
1031
|
-
:contractFileInfo="contractFileInfo"
|
|
1032
|
-
@changeShipBillNo="changeShipBillNo"
|
|
1033
|
-
:progressInfo="getGoodsProgressInfo"
|
|
1034
|
-
:shipBillNoProp="shipBillNo"
|
|
1035
|
-
></BillOfLadingNoTab>
|
|
1115
|
+
<div id="contract_receiving_id">
|
|
1036
1116
|
<SectionSlot
|
|
1117
|
+
ref="SectionReceiving"
|
|
1037
1118
|
:infoPro="getGoodsProgressInfo" v-for="(
|
|
1038
1119
|
shipmentFileInfo, shipmentIndex
|
|
1039
|
-
) in contractFileInfo.shipmentFileInfoList" :key="shipmentIndex" v-if="shipmentIndex == shipBillNo"
|
|
1120
|
+
) in contractFileInfo.shipmentFileInfoList" :key="'receiving'+shipmentIndex" v-if="shipmentIndex == shipBillNo"
|
|
1040
1121
|
>
|
|
1041
1122
|
<template v-slot:header>
|
|
1042
1123
|
<div>
|
|
@@ -1046,76 +1127,18 @@
|
|
|
1046
1127
|
<template v-slot:content>
|
|
1047
1128
|
<div class="content-root">
|
|
1048
1129
|
<div>
|
|
1049
|
-
|
|
1050
|
-
{
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
}
|
|
1130
|
+
<div class="content-root-row">
|
|
1131
|
+
<ContentTitle :contentTitleProp="{
|
|
1132
|
+
bgButton: $t('contractDetail.tip7'),
|
|
1133
|
+
bgTime: shipmentFileInfo.deliveryReceipt && timeFormate(shipmentFileInfo.deliveryReceipt),
|
|
1134
|
+
bgcolor: getGoodsProgressInfo.bgcolor
|
|
1135
|
+
}"></ContentTitle>
|
|
1136
|
+
<span class="bg-history" @click="handleHistory('shipment_delivery_receipt', shipmentFileInfo.shipmentId, false)">{{ $t('contractDetail.view_history') }}</span>
|
|
1055
1137
|
</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
1138
|
<el-col :span="24">
|
|
1117
1139
|
<div class="file-list">
|
|
1118
1140
|
<file-show @refresh="handleRefresh" @checked="handleChecked" @uncheck="handleUncheck"
|
|
1141
|
+
deleteTips="你确定要删除文件吗?删除后,电放状态将会回退到未电放?"
|
|
1119
1142
|
:hiddenOperation="channel == 'official-website'"
|
|
1120
1143
|
:selectFileListProp="selectFileList"
|
|
1121
1144
|
:file-info="item" v-for="(item, i) in shipmentFileInfo.deliveryReceipt" :key="i" />
|
|
@@ -1146,17 +1169,12 @@
|
|
|
1146
1169
|
</div>
|
|
1147
1170
|
<!-- 索赔 -->
|
|
1148
1171
|
<div v-if="contractFileInfo.claimCreateFlag">
|
|
1149
|
-
<BillOfLadingNoTab
|
|
1150
|
-
:contractFileInfo="contractFileInfo"
|
|
1151
|
-
@changeShipBillNo="changeShipBillNo"
|
|
1152
|
-
:progressInfo="shipProgressInfo"
|
|
1153
|
-
:shipBillNoProp="shipBillNo"
|
|
1154
|
-
></BillOfLadingNoTab>
|
|
1155
1172
|
<SectionSlot
|
|
1173
|
+
ref="SectionClaim"
|
|
1156
1174
|
:infoPro="claimProgressInfo"
|
|
1157
1175
|
v-for="(
|
|
1158
1176
|
shipmentFileInfo, shipmentIndex
|
|
1159
|
-
) in contractFileInfo.shipmentFileInfoList" :key="shipmentIndex"
|
|
1177
|
+
) in contractFileInfo.shipmentFileInfoList" :key="'claim'+shipmentIndex"
|
|
1160
1178
|
v-if="shipmentIndex == shipBillNo"
|
|
1161
1179
|
>
|
|
1162
1180
|
<template v-slot:header>
|
|
@@ -1167,30 +1185,22 @@
|
|
|
1167
1185
|
<template v-slot:content>
|
|
1168
1186
|
<div class="content-root">
|
|
1169
1187
|
<div>
|
|
1170
|
-
<
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1188
|
+
<div class="content-root-row">
|
|
1189
|
+
<ContentTitle :contentTitleProp="{
|
|
1190
|
+
bgButton: !buyerFlag
|
|
1191
|
+
? $t('contractDetail.Credit_Note')
|
|
1192
|
+
: $t('contractDetail.Debit_Note'),
|
|
1193
|
+
bgTime: claimFileInfoCom && timeFormate(claimFileInfoCom),
|
|
1194
|
+
bgcolor: claimProgressInfo.bgcolor
|
|
1195
|
+
}"></ContentTitle>
|
|
1196
|
+
<!-- <span class="bg-history" @click="handleHistory(!buyerFlag ? 'claim_credit_note' : 'claim_debit_note', linkId, false)">{{ $t('contractDetail.view_history') }}</span> -->
|
|
1197
|
+
</div>
|
|
1177
1198
|
<el-col :span="24">
|
|
1178
1199
|
<div class="file-list" v-if="claimFileInfoCom">
|
|
1179
1200
|
<file-show @refresh="handleRefresh" @checked="handleChecked" @uncheck="handleUncheck"
|
|
1180
1201
|
:selectFileListProp="selectFileList"
|
|
1181
|
-
:hiddenOperation="
|
|
1202
|
+
:hiddenOperation="true"
|
|
1182
1203
|
: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
1204
|
</div>
|
|
1195
1205
|
<div v-else class="center-status">
|
|
1196
1206
|
<i class="el-icon-time"></i>
|
|
@@ -1203,8 +1213,9 @@
|
|
|
1203
1213
|
</SectionSlot>
|
|
1204
1214
|
</div>
|
|
1205
1215
|
<!-- cndn -->
|
|
1206
|
-
<div style="margin-top:
|
|
1216
|
+
<div style="margin-top:20px" v-if="CNbillsCom.length || DNbillsCom.length">
|
|
1207
1217
|
<SectionSlot
|
|
1218
|
+
ref="SectionCNDN"
|
|
1208
1219
|
:infoPro="cndnProgressInfo"
|
|
1209
1220
|
>
|
|
1210
1221
|
<template v-slot:header>
|
|
@@ -1227,17 +1238,6 @@
|
|
|
1227
1238
|
:selectFileListProp="selectFileList"
|
|
1228
1239
|
:hiddenOperation="true"
|
|
1229
1240
|
: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
1241
|
</div>
|
|
1242
1242
|
<!-- <div v-else class="center-status">
|
|
1243
1243
|
<i class="el-icon-time"></i>
|
|
@@ -1258,17 +1258,6 @@
|
|
|
1258
1258
|
:selectFileListProp="selectFileList"
|
|
1259
1259
|
:hiddenOperation="true"
|
|
1260
1260
|
: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
1261
|
</div>
|
|
1273
1262
|
<!-- <div v-else class="center-status">
|
|
1274
1263
|
<i class="el-icon-time"></i>
|
|
@@ -1278,7 +1267,7 @@
|
|
|
1278
1267
|
</div>
|
|
1279
1268
|
</div>
|
|
1280
1269
|
</template>
|
|
1281
|
-
|
|
1270
|
+
</SectionSlot>
|
|
1282
1271
|
</div>
|
|
1283
1272
|
|
|
1284
1273
|
<deposit-invoice ref="depositInvoice"></deposit-invoice>
|
|
@@ -1317,6 +1306,7 @@
|
|
|
1317
1306
|
:getContractFileInfoCallback="getContractFileInfoCallback"
|
|
1318
1307
|
></shipment-purchase-amount>
|
|
1319
1308
|
</div>
|
|
1309
|
+
</div>
|
|
1320
1310
|
</template>
|
|
1321
1311
|
|
|
1322
1312
|
<script>
|
|
@@ -1360,6 +1350,7 @@ import ContentTitle from './contractFile/ContentTitle.vue';
|
|
|
1360
1350
|
import IMGPreviewCheckBox from './contractFile/IMGPreviewCheckBox.vue'
|
|
1361
1351
|
import BillOfLadingNoTab from './contractFile/BillOfLadingNoTab.vue'
|
|
1362
1352
|
import ShowAndHide from './contractFile/ShowAndHide.vue'
|
|
1353
|
+
import { delBizFileInfo } from '../../../api/biz/bizFileInfo'
|
|
1363
1354
|
|
|
1364
1355
|
let handleGenerateflag = false;
|
|
1365
1356
|
let handleGenerateflag1 = false;
|
|
@@ -1400,12 +1391,12 @@ export default {
|
|
|
1400
1391
|
type: Boolean,
|
|
1401
1392
|
default: true,
|
|
1402
1393
|
},
|
|
1403
|
-
selectFileListProp: {
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
},
|
|
1394
|
+
// selectFileListProp: {
|
|
1395
|
+
// type: Array,
|
|
1396
|
+
// default: () => {
|
|
1397
|
+
// return [];
|
|
1398
|
+
// },
|
|
1399
|
+
// },
|
|
1409
1400
|
},
|
|
1410
1401
|
data() {
|
|
1411
1402
|
return {
|
|
@@ -1416,7 +1407,7 @@ export default {
|
|
|
1416
1407
|
contractProgressInfo: {
|
|
1417
1408
|
text: this.$t('contractDetail.contract'),
|
|
1418
1409
|
rate: 0,
|
|
1419
|
-
img: 'https://s3.
|
|
1410
|
+
img: 'https://s3.doctorscrap.com/dev/user/image_9/805524d45f964ad0b3f51437d3b5750e.png',
|
|
1420
1411
|
bgcolor: '#FBB040',
|
|
1421
1412
|
textArr:[],
|
|
1422
1413
|
hidden: false
|
|
@@ -1424,7 +1415,7 @@ export default {
|
|
|
1424
1415
|
shipProgressInfo: {
|
|
1425
1416
|
text: this.$t('contractDetail.shipment'),
|
|
1426
1417
|
rate: 0,
|
|
1427
|
-
img: 'https://s3.
|
|
1418
|
+
img: 'https://s3.doctorscrap.com/dev/user/image_9/8517dbf0444542d5bf100279231c9597.png',
|
|
1428
1419
|
bgcolor: '#54B8FF',
|
|
1429
1420
|
textArr:[this.$t('contractDetail.Waiting_for_the_seller_to_ship')],
|
|
1430
1421
|
hidden: false
|
|
@@ -1432,7 +1423,7 @@ export default {
|
|
|
1432
1423
|
getGoodsProgressInfo: {
|
|
1433
1424
|
text: this.$t('contractDetail.receiving'),
|
|
1434
1425
|
rate: 0,
|
|
1435
|
-
img: 'https://s3.
|
|
1426
|
+
img: 'https://s3.doctorscrap.com/dev/user/image_9/a43ef25e953747efa9b88d3d9bbe674f.png',
|
|
1436
1427
|
bgcolor: '#7CCF48',
|
|
1437
1428
|
textArr:[],
|
|
1438
1429
|
hidden: false
|
|
@@ -1440,7 +1431,7 @@ export default {
|
|
|
1440
1431
|
claimProgressInfo: {
|
|
1441
1432
|
text: this.$t('contractDetail.claim'),
|
|
1442
1433
|
rate: 0,
|
|
1443
|
-
img: 'https://s3.
|
|
1434
|
+
img: 'https://s3.doctorscrap.com/dev/user/image_9/b427331405604eeb8ec368130f00c5e6.png',
|
|
1444
1435
|
bgcolor: '#adadad',
|
|
1445
1436
|
textArr:[],
|
|
1446
1437
|
hidden: false
|
|
@@ -1448,7 +1439,7 @@ export default {
|
|
|
1448
1439
|
cndnProgressInfo: {
|
|
1449
1440
|
text: this.$t('contractDetail.cndn'),
|
|
1450
1441
|
rate: 100,
|
|
1451
|
-
img: 'https://s3.
|
|
1442
|
+
img: 'https://s3.doctorscrap.com/dev/user/image_9/b427331405604eeb8ec368130f00c5e6.png',
|
|
1452
1443
|
bgcolor: '#c47afc',
|
|
1453
1444
|
textArr:[],
|
|
1454
1445
|
hidden: true
|
|
@@ -1514,6 +1505,7 @@ export default {
|
|
|
1514
1505
|
url: null,
|
|
1515
1506
|
ext: null,
|
|
1516
1507
|
},
|
|
1508
|
+
selectFileList: [],
|
|
1517
1509
|
// 表单参数
|
|
1518
1510
|
form: {},
|
|
1519
1511
|
//上传表单
|
|
@@ -1545,10 +1537,72 @@ export default {
|
|
|
1545
1537
|
this.contractId = contractId;
|
|
1546
1538
|
this.getContractFileInfo(contractId);
|
|
1547
1539
|
this.queryParams.linkId = contractId;
|
|
1540
|
+
if(this.$route.query.deductionRecordsShipmentId) {
|
|
1541
|
+
const timer = setTimeout(() => {
|
|
1542
|
+
this.$refs.shipmentPurchaseAmount.handleShow(this.$route.query.deductionRecordsShipmentId);
|
|
1543
|
+
clearTimeout(timer);
|
|
1544
|
+
}, 1000)
|
|
1545
|
+
}
|
|
1548
1546
|
}
|
|
1549
1547
|
},
|
|
1550
1548
|
mounted() { },
|
|
1551
1549
|
methods: {
|
|
1550
|
+
// 装运模块状态变化,需要同步关联模块
|
|
1551
|
+
handleShippingUpdateOpen(isOpen) {
|
|
1552
|
+
this.$refs.SectionReceiving && this.$refs.SectionReceiving[0]?.setOpen(isOpen)
|
|
1553
|
+
this.$refs.SectionClaim && this.$refs.SectionClaim[0]?.setOpen(isOpen)
|
|
1554
|
+
this.$refs.SectionCNDN?.setOpen(isOpen)
|
|
1555
|
+
},
|
|
1556
|
+
handleScroll(elementId) {
|
|
1557
|
+
document.getElementById(elementId).scrollIntoView()
|
|
1558
|
+
},
|
|
1559
|
+
/**
|
|
1560
|
+
* @description: 取消全部选择
|
|
1561
|
+
* @return {*}
|
|
1562
|
+
*/
|
|
1563
|
+
cancelAll() {
|
|
1564
|
+
this.cancelAllSelectFileList()
|
|
1565
|
+
},
|
|
1566
|
+
|
|
1567
|
+
/**
|
|
1568
|
+
* @description: 全部下载
|
|
1569
|
+
* @return {*}
|
|
1570
|
+
*/
|
|
1571
|
+
downLoadAll() {
|
|
1572
|
+
if (this.selectFileList.length == 0) {
|
|
1573
|
+
return this.$message.warning(this.$t('contractDetail.please_select_file'))
|
|
1574
|
+
}
|
|
1575
|
+
this.downloadZip()
|
|
1576
|
+
},
|
|
1577
|
+
|
|
1578
|
+
deleteAll() {
|
|
1579
|
+
console.log('==delBizFileInfo==', this.selectFileList)
|
|
1580
|
+
if (this.selectFileList.length == 0) {
|
|
1581
|
+
return this.$message.warning(this.$t('contractDetail.please_select_file'))
|
|
1582
|
+
}
|
|
1583
|
+
|
|
1584
|
+
this.$confirm('是否删除选中文件', '提示', {
|
|
1585
|
+
confirmButtonText: '确定',
|
|
1586
|
+
cancelButtonText: '取消',
|
|
1587
|
+
type: 'warning'
|
|
1588
|
+
})
|
|
1589
|
+
.then(() => {
|
|
1590
|
+
const ids = this.selectFileList.map((item) => item.fileId)
|
|
1591
|
+
delBizFileInfo(ids).then(() => {
|
|
1592
|
+
this.$message.success('删除成功')
|
|
1593
|
+
this.selectFileList = []
|
|
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,22 @@ 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
|
+
let res = this.$refs['container_packing_photo_' + containerId] && this.$refs['container_packing_photo_' + containerId][0]?.hasSelectAll()
|
|
1633
|
+
return res
|
|
1634
|
+
// }, 1000);
|
|
1570
1635
|
},
|
|
1571
1636
|
|
|
1572
1637
|
changeShipBillNo(index) {
|
|
@@ -1611,15 +1676,8 @@ export default {
|
|
|
1611
1676
|
},
|
|
1612
1677
|
identifyPage(url, shipmentId, type) {
|
|
1613
1678
|
if (type == 'summary') {
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
query: {
|
|
1617
|
-
// url: url,
|
|
1618
|
-
shipmentId,
|
|
1619
|
-
shipmentOcrType: type,
|
|
1620
|
-
contractId: this.contractId,
|
|
1621
|
-
},
|
|
1622
|
-
});
|
|
1679
|
+
window.open(`/jxxg/ocr/index?shipmentId=${shipmentId}&shipmentOcrType=${type}&contractId=${this.contractId}`, '_blank');
|
|
1680
|
+
return;
|
|
1623
1681
|
}
|
|
1624
1682
|
|
|
1625
1683
|
if (!url) {
|
|
@@ -1627,51 +1685,23 @@ export default {
|
|
|
1627
1685
|
}
|
|
1628
1686
|
|
|
1629
1687
|
if (type == 'draft_bill') {
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
query: {
|
|
1633
|
-
url: url,
|
|
1634
|
-
shipmentId,
|
|
1635
|
-
shipmentOcrType: type,
|
|
1636
|
-
contractId: this.contractId,
|
|
1637
|
-
},
|
|
1638
|
-
});
|
|
1688
|
+
window.open(`/jxxg/ocr/draft-bill?url=${url}&shipmentId=${shipmentId}&shipmentOcrType=${type}&contractId=${this.contractId}`, '_blank');
|
|
1689
|
+
return;
|
|
1639
1690
|
}
|
|
1640
1691
|
|
|
1641
1692
|
if (type == 'packing') {
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
query: {
|
|
1645
|
-
url: url,
|
|
1646
|
-
shipmentId,
|
|
1647
|
-
shipmentOcrType: type,
|
|
1648
|
-
contractId: this.contractId,
|
|
1649
|
-
},
|
|
1650
|
-
});
|
|
1693
|
+
window.open(`/jxxg/ocr/packing-list?url=${url}&shipmentId=${shipmentId}&shipmentOcrType=${type}&contractId=${this.contractId}`, '_blank');
|
|
1694
|
+
return;
|
|
1651
1695
|
}
|
|
1652
1696
|
|
|
1653
1697
|
if (type == 'temporary_invoice') {
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
query: {
|
|
1657
|
-
url: url,
|
|
1658
|
-
shipmentId,
|
|
1659
|
-
shipmentOcrType: type,
|
|
1660
|
-
contractId: this.contractId,
|
|
1661
|
-
},
|
|
1662
|
-
});
|
|
1698
|
+
window.open(`/jxxg/ocr/invoice-balance-temp?url=${url}&shipmentId=${shipmentId}&shipmentOcrType=${type}&contractId=${this.contractId}`, '_blank');
|
|
1699
|
+
return;
|
|
1663
1700
|
}
|
|
1664
1701
|
|
|
1665
1702
|
if (type == 'final_invoice') {
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
query: {
|
|
1669
|
-
url: url,
|
|
1670
|
-
shipmentId,
|
|
1671
|
-
shipmentOcrType: type,
|
|
1672
|
-
contractId: this.contractId,
|
|
1673
|
-
},
|
|
1674
|
-
});
|
|
1703
|
+
window.open(`/jxxg/ocr/invoice-balance?url=${url}&shipmentId=${shipmentId}&shipmentOcrType=${type}&contractId=${this.contractId}`, '_blank');
|
|
1704
|
+
return;
|
|
1675
1705
|
}
|
|
1676
1706
|
},
|
|
1677
1707
|
|
|
@@ -2070,17 +2100,12 @@ export default {
|
|
|
2070
2100
|
|
|
2071
2101
|
// 索赔进度
|
|
2072
2102
|
let claimTextArr = []
|
|
2073
|
-
if(this.contractFileInfo.claimCreateFlag && !this.contractFileInfo.
|
|
2103
|
+
if(this.contractFileInfo.claimCreateFlag && !this.contractFileInfo.claimCloseFlag) {
|
|
2074
2104
|
// 索赔中(英文:Claiming)
|
|
2075
2105
|
claimTextArr.push(this.$t('contractDetail.claiming'))
|
|
2076
2106
|
}
|
|
2077
2107
|
|
|
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) {
|
|
2108
|
+
if(this.contractFileInfo.claimCreateFlag && this.contractFileInfo.claimCloseFlag) {
|
|
2084
2109
|
// 索赔已关闭(英文:Claim closed)
|
|
2085
2110
|
claimTextArr.push(this.$t('contractDetail.claiming_closed'))
|
|
2086
2111
|
}
|
|
@@ -2111,12 +2136,15 @@ export default {
|
|
|
2111
2136
|
this.setRate(this.shipBillNo)
|
|
2112
2137
|
});
|
|
2113
2138
|
},
|
|
2114
|
-
|
|
2139
|
+
// 合同 定金发票 尾款发票 装箱单 不需要传 visible=false,其余的均需要传
|
|
2140
|
+
handleHistory(fileType, linkId, visible) {
|
|
2141
|
+
console.log('handleHistory', fileType, linkId, visible)
|
|
2115
2142
|
this.$router.push({
|
|
2116
2143
|
path: '/contract/file/history',
|
|
2117
2144
|
query: {
|
|
2118
|
-
linkId:
|
|
2145
|
+
linkId: linkId,
|
|
2119
2146
|
fileType: fileType,
|
|
2147
|
+
visible: visible === false ? "0" : null,
|
|
2120
2148
|
},
|
|
2121
2149
|
});
|
|
2122
2150
|
},
|
|
@@ -2255,6 +2283,19 @@ export default {
|
|
|
2255
2283
|
},
|
|
2256
2284
|
},
|
|
2257
2285
|
computed: {
|
|
2286
|
+
personalBillFileInfo: function() {
|
|
2287
|
+
if (this.contractFileInfo.bliFileInfoList && this.contractFileInfo.bliFileInfoList.length > 0) {
|
|
2288
|
+
return this.contractFileInfo.bliFileInfoList[0].personalBillFileInfo
|
|
2289
|
+
}
|
|
2290
|
+
return null
|
|
2291
|
+
},
|
|
2292
|
+
latestBillFileInfo: function() {
|
|
2293
|
+
if (this.contractFileInfo.bliFileInfoList && this.contractFileInfo.bliFileInfoList.length > 0) {
|
|
2294
|
+
return this.contractFileInfo.bliFileInfoList[0].latestBillFileInfo
|
|
2295
|
+
}
|
|
2296
|
+
return null
|
|
2297
|
+
},
|
|
2298
|
+
|
|
2258
2299
|
// 销售获取最新的尾款发票
|
|
2259
2300
|
getNewInfo() {
|
|
2260
2301
|
// 时间比较
|
|
@@ -2281,24 +2322,37 @@ export default {
|
|
|
2281
2322
|
|
|
2282
2323
|
},
|
|
2283
2324
|
claimFileInfoCom() {
|
|
2284
|
-
if (
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
) {
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
} else {
|
|
2300
|
-
|
|
2301
|
-
}
|
|
2325
|
+
// if (
|
|
2326
|
+
// (this.contractFileInfo &&
|
|
2327
|
+
// this.contractFileInfo.claimCreditNoteFileList &&
|
|
2328
|
+
// this.contractFileInfo.claimCreditNoteFileList[0]) ||
|
|
2329
|
+
// (this.contractFileInfo &&
|
|
2330
|
+
// this.contractFileInfo.claimDebitNoteFileList &&
|
|
2331
|
+
// this.contractFileInfo.claimDebitNoteFileList[0])
|
|
2332
|
+
// ) {
|
|
2333
|
+
// return !this.buyerFlag
|
|
2334
|
+
// ? this.contractFileInfo &&
|
|
2335
|
+
// this.contractFileInfo.claimCreditNoteFileList &&
|
|
2336
|
+
// this.contractFileInfo.claimCreditNoteFileList
|
|
2337
|
+
// : this.contractFileInfo &&
|
|
2338
|
+
// this.contractFileInfo.claimDebitNoteFileList &&
|
|
2339
|
+
// this.contractFileInfo.claimDebitNoteFileList;
|
|
2340
|
+
// } else {
|
|
2341
|
+
// false;
|
|
2342
|
+
// }
|
|
2343
|
+
if(this.contractFileInfo?.bills) {
|
|
2344
|
+
return this.contractFileInfo.bills.map(item => {
|
|
2345
|
+
let name = item.billType == 'receipt' ? 'DebitNote' : 'CreditNote'
|
|
2346
|
+
item.url = item.billNo + '.pdf'
|
|
2347
|
+
item.fileName = name + item.billNo + '.pdf'
|
|
2348
|
+
item.downloadUrl = '/bill/download?id=' + item.id
|
|
2349
|
+
return item
|
|
2350
|
+
}).filter(item => {
|
|
2351
|
+
return item.businessType == 1
|
|
2352
|
+
})
|
|
2353
|
+
} else {
|
|
2354
|
+
return false
|
|
2355
|
+
}
|
|
2302
2356
|
},
|
|
2303
2357
|
// 采购获取最新的尾款发票
|
|
2304
2358
|
DNbillsCom() {
|
|
@@ -2310,6 +2364,8 @@ export default {
|
|
|
2310
2364
|
item.downloadUrl = '/bill/download?id=' + item.id
|
|
2311
2365
|
return item
|
|
2312
2366
|
}
|
|
2367
|
+
}).filter(item => {
|
|
2368
|
+
return item.businessType != 1
|
|
2313
2369
|
})
|
|
2314
2370
|
} else {
|
|
2315
2371
|
return false
|
|
@@ -2324,6 +2380,8 @@ export default {
|
|
|
2324
2380
|
item.downloadUrl = '/bill/download?id=' + item.id
|
|
2325
2381
|
return item
|
|
2326
2382
|
}
|
|
2383
|
+
}).filter(item => {
|
|
2384
|
+
return item.businessType != 1
|
|
2327
2385
|
})
|
|
2328
2386
|
} else {
|
|
2329
2387
|
return false
|
|
@@ -2331,13 +2389,13 @@ export default {
|
|
|
2331
2389
|
},
|
|
2332
2390
|
},
|
|
2333
2391
|
watch: {
|
|
2334
|
-
selectFileListProp: {
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
},
|
|
2392
|
+
// selectFileListProp: {
|
|
2393
|
+
// handler(val) {
|
|
2394
|
+
// this.selectFileList = val
|
|
2395
|
+
// },
|
|
2396
|
+
// immediate: true,
|
|
2397
|
+
// deep: true
|
|
2398
|
+
// },
|
|
2341
2399
|
},
|
|
2342
2400
|
destroyed() {
|
|
2343
2401
|
clearTimeout(this.timer);
|
|
@@ -2354,15 +2412,18 @@ export default {
|
|
|
2354
2412
|
}
|
|
2355
2413
|
|
|
2356
2414
|
.progress-root {
|
|
2415
|
+
padding: 0 20px;
|
|
2357
2416
|
display: flex;
|
|
2417
|
+
height: 60px;
|
|
2418
|
+
background-color: white;
|
|
2419
|
+
width: 100%;
|
|
2420
|
+
align-items: center;
|
|
2358
2421
|
}
|
|
2359
2422
|
|
|
2360
2423
|
.selection-root {
|
|
2361
2424
|
display: flex;
|
|
2362
|
-
margin-top: 26px;
|
|
2363
2425
|
justify-content: flex-start;
|
|
2364
2426
|
align-items: center;
|
|
2365
|
-
margin-bottom: 20px;
|
|
2366
2427
|
}
|
|
2367
2428
|
|
|
2368
2429
|
.border-button {
|
|
@@ -2370,7 +2431,7 @@ export default {
|
|
|
2370
2431
|
min-width: 45px;
|
|
2371
2432
|
padding: 0 10px;
|
|
2372
2433
|
width: max-content;
|
|
2373
|
-
height: 21px;
|
|
2434
|
+
min-height: 21px;
|
|
2374
2435
|
text-align: center;
|
|
2375
2436
|
line-height: 17px;
|
|
2376
2437
|
background: #FFFFFF;
|
|
@@ -2380,9 +2441,18 @@ export default {
|
|
|
2380
2441
|
cursor: pointer;
|
|
2381
2442
|
}
|
|
2382
2443
|
|
|
2444
|
+
.border-button-blue {
|
|
2445
|
+
background-color: #54B8FF;
|
|
2446
|
+
color: white;
|
|
2447
|
+
border: 0;
|
|
2448
|
+
line-height: 21px;
|
|
2449
|
+
}
|
|
2450
|
+
|
|
2383
2451
|
.border-button-share {
|
|
2384
|
-
|
|
2385
|
-
|
|
2452
|
+
margin-right: 5px;
|
|
2453
|
+
background-color: #84db4c;
|
|
2454
|
+
border: 0;
|
|
2455
|
+
line-height: 21px;
|
|
2386
2456
|
}
|
|
2387
2457
|
|
|
2388
2458
|
.slot-content {
|
|
@@ -2408,6 +2478,26 @@ export default {
|
|
|
2408
2478
|
}
|
|
2409
2479
|
}
|
|
2410
2480
|
|
|
2481
|
+
.selection-root {
|
|
2482
|
+
margin-left: 16px;
|
|
2483
|
+
display: flex;
|
|
2484
|
+
flex-direction: row;
|
|
2485
|
+
align-items: center;
|
|
2486
|
+
margin-right: 16px;
|
|
2487
|
+
}
|
|
2488
|
+
|
|
2489
|
+
// .border-button {
|
|
2490
|
+
// padding: 0 10px;
|
|
2491
|
+
// width: max-content;
|
|
2492
|
+
// height: 21px;
|
|
2493
|
+
// text-align: center;
|
|
2494
|
+
// line-height: 17px;
|
|
2495
|
+
// background: #ffffff;
|
|
2496
|
+
// border-radius: 11px;
|
|
2497
|
+
// font-size: 12px;
|
|
2498
|
+
// border: 2px solid #d1d3d4;
|
|
2499
|
+
// cursor: pointer;
|
|
2500
|
+
// }
|
|
2411
2501
|
|
|
2412
2502
|
.content-root {
|
|
2413
2503
|
overflow: hidden;
|