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.
Files changed (29) hide show
  1. package/README.md +4 -1
  2. package/package.json +1 -1
  3. package/packages/index.js +14 -3
  4. package/packages/src/api/biz/bizContract.js +36 -9
  5. package/packages/src/api/biz/bizShipment.js +30 -1
  6. package/packages/src/i18n/zh-CN/message.json +1 -1
  7. package/packages/src/index.js +18 -2
  8. package/packages/src/utils/index.js +1 -1
  9. package/packages/src/utils/zip.js +29 -11
  10. package/packages/src/views/biz/bizFileInfo/contract.vue +510 -420
  11. package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +9 -7
  12. package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +25 -10
  13. package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +11 -3
  14. package/packages/src/views/biz/bizFileInfo/fileShow.vue +11 -5
  15. package/packages/src/views/biz/bizShipment/add.vue +67 -38
  16. package/packages/src/views/biz/contractTracing/billInfo.vue +17 -9
  17. package/packages/src/views/biz/contractTracing/changrLogList.vue +67 -0
  18. package/packages/src/views/biz/contractTracing/companyBanks.vue +19 -8
  19. package/packages/src/views/biz/contractTracing/contractClause.vue +356 -0
  20. package/packages/src/views/biz/contractTracing/contractClauseComponenrts/TextContent.vue +53 -0
  21. package/packages/src/views/biz/contractTracing/contractPdf.vue +16 -175
  22. package/packages/src/views/biz/contractTracing/contractSummary.vue +101 -73
  23. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +5 -77
  24. package/packages/src/views/biz/contractTracing/editBill.vue +35 -27
  25. package/packages/src/views/biz/contractTracing/info.vue +363 -0
  26. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +5 -2
  27. package/packages/src/views/biz/contractTracing/queryDeductionRecords.vue +103 -0
  28. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +361 -79
  29. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmountEditDialog.vue +176 -0
@@ -2,7 +2,7 @@
2
2
  * @Author: zhangpengwei 15038779532@163.com
3
3
  * @Date: 2023-08-28 19:04:39
4
4
  * @LastEditors: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
5
- * @LastEditTime: 2024-07-17 15:35:31
5
+ * @LastEditTime: 2025-01-20 14:15:12
6
6
  * @FilePath: /doctor-admin-components/packages/src/views/biz/contractTracing/contractSummary.vue
7
7
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
8
  -->
@@ -11,42 +11,45 @@
11
11
  <el-card class="box-card">
12
12
  <el-row>
13
13
  <el-col :span="12">
14
- {{ $t('contractDetail.contractNo') + ':' + (this.contract && this.contract.contractNo ? this.contract.contractNo : '') }}
14
+ {{ $t('contractDetail.contractNo') + ':' + (this.contract && this.contract.contractNo ?
15
+ this.contract.contractNo : '') }}
15
16
  </el-col>
16
17
  <el-col v-if="channel !== 'official-website'" :span="12">
17
18
  <div v-if="contract.contractSignTime && isOvertime(contract.contractSignTime, 14)">
18
19
  {{
19
20
  depositStatus == 'not_received'
20
21
  ? '【超时未收定金】提醒:您已于【' +
21
- utc2local(contract.contractSignTime, 'YYYY-MM-DD') +
22
- '】 签订合同,定金款已超过【' +
23
- getDays(contract.contractSignTime) +
24
- '】天未收到'
22
+ utc2local(contract.contractSignTime, 'YYYY-MM-DD') +
23
+ '】 签订合同,定金款已超过【' +
24
+ getDays(contract.contractSignTime) +
25
+ '】天未收到'
25
26
  : depositStatus == 'not_paid'
26
- ? '【超时未付定金】提醒:您已于【' +
27
+ ? '【超时未付定金】提醒:您已于【' +
27
28
  utc2local(contract.contractSignTime, 'YYYY-MM-DD') +
28
29
  '】 签订合同,定金款已超过【' +
29
30
  getDays(contract.contractSignTime) +
30
31
  '】天未支付'
31
- : ''
32
+ : ''
32
33
  }}
33
34
  </div>
34
35
  <div v-if="contract.contractSignTime && isOvertime(contract.contractSignTime, contract.latestShipment)">
35
36
  {{
36
37
  deliveryStatus != 'all_shipment'
37
38
  ? '【超时未发货】提醒:当前合同约定签订后【' +
38
- contract.latestShipment +
39
- '】天发货;目前距合同签订【' +
40
- getDays(contract.contractSignTime) +
41
- '】天,卖家仍未全部发货;'
39
+ contract.latestShipment +
40
+ '】天发货;目前距合同签订【' +
41
+ getDays(contract.contractSignTime) +
42
+ '】天,卖家仍未全部发货;'
42
43
  : '' + '】'
43
44
  }}
44
45
  </div>
45
- <div v-if="deliveryStatus == 'all_shipment' && depositStatus == 'not_received'">{{ '【已发货未收定金】提醒:卖家已全部发货,定金款仍未收到' }}</div>
46
+ <div v-if="deliveryStatus == 'all_shipment' && depositStatus == 'not_received'">{{
47
+ '【已发货未收定金】提醒:卖家已全部发货,定金款仍未收到' }}</div>
46
48
  </el-col>
47
49
  </el-row>
48
50
  <el-row v-if="channel !== 'official-website'">
49
- {{ $t('contractDetail.relatedContract') + ':' + getContractNos((this.contract && this.contract.associationContractList) || []) }}
51
+ {{ $t('contractDetail.relatedContract') + ':' + getContractNos((this.contract &&
52
+ this.contract.associationContractList) ||[]) }}
50
53
  </el-row>
51
54
  </el-card>
52
55
 
@@ -101,7 +104,8 @@
101
104
  <el-form-item :label="$t('contractDetail.paymentType')">{{ dealRecord.paymentType }}</el-form-item>
102
105
  </el-col>
103
106
  <el-col :span="8">
104
- <el-form-item v-if="dealRecord.paymentType != 'EXW'" :label="$t('contractDetail.destination')">{{ dealRecord.buyerDestination }}</el-form-item>
107
+ <el-form-item v-if="dealRecord.paymentType != 'EXW'" :label="$t('contractDetail.destination')">{{
108
+ dealRecord.buyerDestination }}</el-form-item>
105
109
  <el-form-item v-else label="EXW">{{ dealRecord.exw }}</el-form-item>
106
110
  </el-col>
107
111
  </el-row>
@@ -116,7 +120,8 @@
116
120
  </el-col>
117
121
  <!-- 买家点价 -->
118
122
  <el-col :span="6">
119
- <div class="share" v-if="showPricing" style="right: 100px" @click.stop="openPriceFix">{{ $t('index.priceFix') }}</div>
123
+ <div class="share" v-if="showPricing" style="right: 100px" @click.stop="openPriceFix">{{
124
+ $t('index.priceFix') }}</div>
120
125
  </el-col>
121
126
  </el-row>
122
127
  </el-card>
@@ -151,43 +156,45 @@
151
156
  {{ $t('contractDetail.commodityInfo') }}
152
157
  </span>
153
158
  </div>
154
- <el-table
155
- :data="dealRecord.dealRecordDetailList"
156
- small="mini"
157
- style="width: 100%"
158
- :header-cell-style="{ 'text-align': 'center' }"
159
- :cell-style="{ 'text-align': 'center' }"
160
- >
159
+ <el-table :data="dealRecord.dealRecordDetailList" small="mini" style="width: 100%"
160
+ :header-cell-style="{ 'text-align': 'center' }" :cell-style="{ 'text-align': 'center' }">
161
161
  <el-table-column :label="$t('contractDetail.commodityPicture')" width="150">
162
162
  <template v-slot:default="scope">
163
163
  <image-preview :src="scope.row.askCover" :width="50" :height="50" />
164
164
  </template>
165
165
  </el-table-column>
166
- <el-table-column prop="askName" :label="$t('contractDetail.askName')" :width="channel === 'official-website' ? 200 : 100"></el-table-column>
167
- <el-table-column v-if="channel !== 'official-website'" :label="$t('contractDetail.categoryName')" prop="categoryName"></el-table-column>
168
- <el-table-column v-if="channel !== 'official-website'" :label="$t('contractDetail.subCategory')" prop="subCategoryName" width="110"></el-table-column>
166
+ <el-table-column prop="askName" :label="$t('contractDetail.askName')"
167
+ :width="channel === 'official-website' ? 200 : 100"></el-table-column>
168
+ <el-table-column v-if="channel !== 'official-website'" :label="$t('contractDetail.categoryName')"
169
+ prop="categoryName"></el-table-column>
170
+ <el-table-column v-if="channel !== 'official-website'" :label="$t('contractDetail.subCategory')"
171
+ prop="subCategoryName" width="110"></el-table-column>
169
172
  <el-table-column :label="$t('contractDetail.packaging')" prop="packingMethod" width="90" />
170
- <el-table-column prop="descriptions" :label="$t('contractDetail.description')" :width="channel === 'official-website' ? 200 : 160"></el-table-column>
173
+ <el-table-column prop="descriptions" :label="$t('contractDetail.description')"
174
+ :width="channel === 'official-website' ? 200 : 160"></el-table-column>
171
175
  <el-table-column prop="weight" :label="$t('contractDetail.weight')" width="120px">
172
176
  <template slot-scope="scope">
173
177
  {{ CommonFormatNumber(scope.row.weight) }}
174
178
  </template>
175
179
  </el-table-column>
176
- <el-table-column v-if="channel !== 'official-website'" prop="sllerPrice" :label="$t('contractDetail.sellerPrice')" width="120">
180
+ <el-table-column v-if="channel !== 'official-website'" prop="sllerPrice"
181
+ :label="$t('contractDetail.sellerPrice')" width="120">
177
182
  <template slot-scope="scope">
178
183
  <span v-if="dealRecord.quoteType == 'FIXED'">{{ '$' + scope.row.sllerPrice }}</span>
179
184
  <span v-else-if="dealRecord.quoteType == 'CMX'">{{ 'CMX - ' + scope.row.sllerPrice }}</span>
180
185
  <span v-else>{{ scope.row.sellerPriceFormula || scope.row.sllerPrice + '%LME' }}</span>
181
186
  </template>
182
187
  </el-table-column>
183
- <el-table-column prop="quotePrice" :label="$t('contractDetail.quotePrice')" :width="channel === 'official-website' ? 180 : 120">
188
+ <el-table-column prop="quotePrice" :label="$t('contractDetail.quotePrice')"
189
+ :width="channel === 'official-website' ? 180 : 120">
184
190
  <template slot-scope="scope">
185
191
  <span v-if="dealRecord.quoteType == 'FIXED'">{{ '$' + scope.row.quotePrice }}</span>
186
192
  <span v-else-if="dealRecord.quoteType == 'CMX'">{{ 'CMX - ' + scope.row.quotePrice }}</span>
187
193
  <span v-else>{{ scope.row.quotePriceFormula || scope.row.quotePrice + '%LME' }}</span>
188
194
  </template>
189
195
  </el-table-column>
190
- <el-table-column prop="totalQuote" :label="$t('contractDetail.totalQuote')" :width="channel === 'official-website' ? 180 : 120"></el-table-column>
196
+ <el-table-column prop="totalQuote" :label="$t('contractDetail.totalQuote')"
197
+ :width="channel === 'official-website' ? 180 : 120"></el-table-column>
191
198
  </el-table>
192
199
  </el-card>
193
200
  </el-form>
@@ -201,7 +208,7 @@
201
208
  </el-button>
202
209
  <el-button v-if="channel !== 'official-website'" style="padding: 3px 0" type="text" @click="viceDocuments">{{
203
210
  $t('contractDetail.viewPaymentInfo')
204
- }}</el-button>
211
+ }}</el-button>
205
212
  </div>
206
213
  <el-table :data="invoiceList" v-if="invoiceActive">
207
214
  <el-table-column :label="$t('contractDetail.invoiceNo')" align="center" prop="invoiceNo" width="165" />
@@ -211,34 +218,45 @@
211
218
  <dict-tag :options="dict.type.contract_type" :value="scope.row.invoiceType" />
212
219
  </template>
213
220
  </el-table-column>
214
- <el-table-column :label="$t('contractDetail.invoiceSpecies')" align="center" prop="invoiceSpecies" width="120">
221
+ <el-table-column :label="$t('contractDetail.invoiceSpecies')" align="center" prop="invoiceSpecies"
222
+ width="120">
215
223
  <template slot-scope="scope">
216
224
  <dict-tag :options="dict.type.invoice_species" :value="scope.row.invoiceSpecies" />
217
225
  </template>
218
226
  </el-table-column>
219
227
  <el-table-column :label="$t('contractDetail.invoiceDate')" prop="createTime" width="120"></el-table-column>
220
- <el-table-column :label="$t('contractDetail.issuer')" align="center" prop="billCompanyName" width="150" :show-overflow-tooltip="true" />
221
- <el-table-column :label="$t('contractDetail.billTo')" align="center" prop="receiveCompanyName" width="150" :show-overflow-tooltip="true" />
222
- <el-table-column v-if="channel !== 'official-website'" label="未付/未收金额" align="center" prop="remainingAmount" width="120" />
223
- <el-table-column v-if="channel !== 'official-website'" label="已付/已收金额" align="center" prop="remainingAmount" width="120">
228
+ <el-table-column :label="$t('contractDetail.issuer')" align="center" prop="billCompanyName" width="150"
229
+ :show-overflow-tooltip="true" />
230
+ <el-table-column :label="$t('contractDetail.billTo')" align="center" prop="receiveCompanyName" width="150"
231
+ :show-overflow-tooltip="true" />
232
+ <el-table-column v-if="channel !== 'official-website'" label="未付/未收金额" align="center" prop="remainingAmount"
233
+ width="120" />
234
+ <el-table-column v-if="channel !== 'official-website'" label="已付/已收金额" align="center" prop="remainingAmount"
235
+ width="120">
224
236
  <template slot-scope="{ row }">{{ row.amount - row.remainingAmount }}</template>
225
237
  </el-table-column>
226
238
  <el-table-column v-if="channel !== 'official-website'" label="总金额" align="center" prop="amount" width="100" />
227
239
 
228
240
  <!-- 官网 -->
229
- <el-table-column v-if="channel == 'official-website'" :label="$t('contract.Payable_Amount')" align="center" prop="amount" width="140" />
230
- <el-table-column v-if="channel == 'official-website'" :label="$t('contract.Amount_Paid')" align="center" prop="amount" width="100">
241
+ <el-table-column v-if="channel == 'official-website'" :label="$t('contract.Payable_Amount')" align="center"
242
+ prop="amount" width="140" />
243
+ <el-table-column v-if="channel == 'official-website'" :label="$t('contract.Amount_Paid')" align="center"
244
+ prop="amount" width="100">
231
245
  <template slot-scope="{ row }">{{ row.amount - row.remainingAmount }}</template>
232
246
  </el-table-column>
233
- <el-table-column v-if="channel == 'official-website'" :label="$t('contract.Balance_Due')" align="center" prop="remainingAmount" width="100" />
247
+ <el-table-column v-if="channel == 'official-website'" :label="$t('contract.Balance_Due')" align="center"
248
+ prop="remainingAmount" width="100" />
234
249
  <el-table-column :label="$t('contractDetail.quoteType')" align="center" prop="quoteType" width="120" />
235
250
 
236
- <el-table-column :label="$t('contractDetail.paymentTerms')" align="center" prop="paymentTerms" show-overflow-tooltip width="120" />
251
+ <el-table-column :label="$t('contractDetail.paymentTerms')" align="center" prop="paymentTerms"
252
+ show-overflow-tooltip width="120" />
237
253
 
238
- <el-table-column v-if="channel !== 'official-website'" :label="$t('contractDetail.remark')" align="center" prop="remark" show-overflow-tooltip />
254
+ <el-table-column v-if="channel !== 'official-website'" :label="$t('contractDetail.remark')" align="center"
255
+ prop="remark" show-overflow-tooltip />
239
256
  <el-table-column :label="$t('contractDetail.operate')" v-if="channel !== 'official-website'">
240
257
  <template slot-scope="{ row }">
241
- <el-button v-if="contract.contractType == 'sale' && row.invoiceSpecies != 'proforma'" type="text" @click="handleUrge(row)">一键催款</el-button>
258
+ <el-button v-if="contract.contractType == 'sale' && row.invoiceSpecies != 'proforma'" type="text"
259
+ @click="handleUrge(row)">一键催款</el-button>
242
260
  </template>
243
261
  </el-table-column>
244
262
  </el-table>
@@ -267,23 +285,31 @@
267
285
  <div class="claim-report" v-for="(claimItem, index) in row.claimList" :key="index">
268
286
  <div style="display: flex">
269
287
  <div class="claim-report-info-wrap">
270
- <div class="claim-report-info-wrap-item">{{ $t('contract.Claim_ID') }}:{{ claimItem.claimNo }}</div>
271
- <div class="claim-report-info-wrap-item">{{ $t('contract.Claim_Type') }}:{{ claimTypeFun(claimItem.type) }}</div>
272
- <div class="claim-report-info-wrap-item">{{ $t('contract.Claim_status') }}:{{ claimStatusFun(claimItem.status) }}</div>
288
+ <div class="claim-report-info-wrap-item">{{ $t('contract.Claim_ID') }}:{{ claimItem.claimNo }}
289
+ </div>
290
+ <div class="claim-report-info-wrap-item">{{ $t('contract.Claim_Type') }}:{{
291
+ claimTypeFun(claimItem.type) }}</div>
292
+ <div class="claim-report-info-wrap-item">{{ $t('contract.Claim_status') }}:{{
293
+ claimStatusFun(claimItem.status) }}</div>
294
+ </div>
295
+ <div style="width: 50px" class="view" @click.stop="viewFun(claimItem)">{{ $t('contract.View') }}
273
296
  </div>
274
- <div style="width: 50px" class="view" @click.stop="viewFun(claimItem)">{{ $t('contract.View') }}</div>
275
297
  </div>
276
298
  <div class="claim-report-info-wrap">
277
- <div class="claim-report-info-wrap-item">{{ $t('contract.create_time') }}:{{ parseTime(claimItem.createTime) }}</div>
278
- <div class="claim-report-info-wrap-item">{{ $t('contract.commitTime') }}:{{ parseTime(claimItem.commitTime) }}</div>
299
+ <div class="claim-report-info-wrap-item">{{ $t('contract.create_time') }}:{{
300
+ parseTime(claimItem.createTime) }}</div>
301
+ <div class="claim-report-info-wrap-item">{{ $t('contract.commitTime') }}:{{
302
+ parseTime(claimItem.commitTime) }}</div>
279
303
  </div>
280
304
  </div>
281
305
  </div>
282
306
  </template>
283
307
  </el-table-column>
284
- <el-table-column :label="$t('contractDetail.billOfLadingNo')" align="center" prop="billOfLadingNo" width="130">
308
+ <el-table-column :label="$t('contractDetail.billOfLadingNo')" align="center" prop="billOfLadingNo"
309
+ width="130">
285
310
  <template slot-scope="scope">
286
- <el-button type="text" @click="openShipmentDetail(scope.row)">{{ scope.row.billOfLadingNo }}</el-button>
311
+ <el-button type="text" @click="openShipmentDetail(scope.row)">{{ scope.row.billOfLadingNo
312
+ }}</el-button>
287
313
  </template>
288
314
  </el-table-column>
289
315
  <el-table-column :label="$t('contractDetail.conrainerNo')" align="center" width="130">
@@ -301,7 +327,8 @@
301
327
  <dict-tag :options="dict.type.charging_status" :value="scope.row.chargingStatus" />
302
328
  </template>
303
329
  </el-table-column>
304
- <el-table-column :label="$t('contractDetail.destination')" align="center" prop="destinationPort" width="150" />
330
+ <el-table-column :label="$t('contractDetail.destination')" align="center" prop="destinationPort"
331
+ width="150" />
305
332
  <el-table-column label="ETD" align="center" prop="etd" width="180">
306
333
  <template slot-scope="scope">
307
334
  <span>{{ parseTime(scope.row.etd, '{y}-{m}-{d}') }}</span>
@@ -312,7 +339,8 @@
312
339
  <span>{{ parseTime(scope.row.eta, '{y}-{m}-{d}') }}</span>
313
340
  </template>
314
341
  </el-table-column>
315
- <el-table-column v-if="channel !== 'official-website'" label="实际到港日" align="center" prop="actualArrivalDate" width="180">
342
+ <el-table-column v-if="channel !== 'official-website'" label="实际到港日" align="center"
343
+ prop="actualArrivalDate" width="180">
316
344
  <template slot-scope="scope">
317
345
  <span>
318
346
  {{ parseTime(scope.row.actualArrivalDate, '{y}-{m}-{d}') }}
@@ -323,39 +351,34 @@
323
351
  <el-table-column label="对应合同" align="center" width="160px" v-if="channel !== 'official-website'">
324
352
  <template slot-scope="scope">
325
353
  <span v-if="contract.contract == 'sale'">
326
- <el-button type="text" @click="viewContractDetail(scope.row.saleContractNo)">{{ scope.row.saleContractNo }}</el-button>
354
+ <el-button type="text" @click="viewContractDetail(scope.row.saleContractNo)">{{
355
+ scope.row.saleContractNo }}</el-button>
327
356
  </span>
328
357
  <span v-else>
329
- <el-button type="text" @click="viewContractDetail(scope.row.purchaseContractNo)">{{ scope.row.purchaseContractNo }}</el-button>
358
+ <el-button type="text" @click="viewContractDetail(scope.row.purchaseContractNo)">{{
359
+ scope.row.purchaseContractNo }}</el-button>
330
360
  </span>
331
361
  </template>
332
362
  </el-table-column>
333
363
 
334
- <el-table-column :label="$t('contractDetail.operate')" align="center" class-name="small-padding fixed-width" width="300px">
364
+ <el-table-column :label="$t('contractDetail.operate')" align="center"
365
+ class-name="small-padding fixed-width" width="300px">
335
366
  <template slot-scope="scope">
336
- <el-button
337
- v-if="channel == 'official-website'"
338
- size="mini"
339
- type="primary"
340
- style="padding-left: 5px; padding-right: 5px"
341
- @click.stop="activeNameFun(scope.$index)"
342
- >{{ $t('contract.Track_Shipment') }}</el-button
343
- >
367
+ <el-button v-if="channel == 'official-website'" size="mini" type="primary"
368
+ style="padding-left: 5px; padding-right: 5px" @click.stop="activeNameFun(scope.$index)">{{
369
+ $t('contract.Track_Shipment') }}</el-button>
344
370
  <!-- v-if="channel == 'official-website' && scope.row.showFallbackQuality" -->
345
- <el-button
346
- v-if="channel == 'official-website'"
347
- size="mini"
371
+ <el-button v-if="channel == 'official-website'" size="mini"
348
372
  :type="scope.row.showFallbackQuality ? 'primary' : 'info'"
349
- style="padding-left: 5px; padding-right: 5px"
350
- @click.stop="qualityFeedback(scope.row)"
351
- >{{ $t('contract.Quality_Feedback') }}</el-button
352
- >
373
+ style="padding-left: 5px; padding-right: 5px" @click.stop="qualityFeedback(scope.row)">{{
374
+ $t('contract.Quality_Feedback') }}</el-button>
353
375
  </template>
354
376
  </el-table-column>
355
377
  </el-table>
356
378
 
357
- <el-tabs v-model="activeName" type="card">
358
- <el-tab-pane v-for="(item, index) in shipmentList" :key="index" :name="index.toString()" :label="item.billOfLadingNo">
379
+ <el-tabs v-if="accessToken" v-model="activeName" type="card">
380
+ <el-tab-pane v-for="(item, index) in shipmentList" :key="index" :name="index.toString()"
381
+ :label="item.billOfLadingNo">
359
382
  <iframe :src="getGeekYumPage(item)" width="1100" height="600"></iframe>
360
383
  </el-tab-pane>
361
384
  </el-tabs>
@@ -751,7 +774,7 @@ ${invoiceNoTitleZh}:${invoiceNo}
751
774
  },
752
775
  getGeekYumToken() {
753
776
  getGeekYumToken().then((res) => {
754
- this.accessToken = res.msg
777
+ this.accessToken = res.message
755
778
  })
756
779
  },
757
780
  getDays(date) {
@@ -925,24 +948,29 @@ ${invoiceNoTitleZh}:${invoiceNo}
925
948
  width: 1050px;
926
949
  margin-left: 20px;
927
950
  }
951
+
928
952
  .claim-report {
929
953
  background-color: #eee;
930
954
  padding: 10px 20px;
931
955
  margin-top: 20px;
956
+
932
957
  .claim-report-info-wrap {
933
958
  flex: 1;
934
959
  display: flex;
935
960
  flex-wrap: wrap;
961
+
936
962
  .claim-report-info-wrap-item {
937
963
  width: 300px;
938
964
  text-align: left;
939
965
  }
940
966
  }
967
+
941
968
  .view {
942
969
  color: #409eff;
943
970
  cursor: pointer;
944
971
  }
945
972
  }
973
+
946
974
  .share {
947
975
  width: 120px;
948
976
  height: 30px;
@@ -12,31 +12,22 @@
12
12
  <div class="app-container-left">
13
13
  <div class="contract-number">
14
14
  <div>{{ $t('contractDetail.Contract_No') }}</div>
15
- <div>{{ contract.contractNo }}</div>
15
+ <div style="word-wrap: break-word;">{{ contract.contractNo }}</div>
16
16
  </div>
17
17
  <div class="contract-number">
18
18
  <div>
19
19
  <span>{{$t('contractDetail.Reference_No')}}</span>
20
20
  <el-button size="mini" type="text" icon="el-icon-edit" @click="clickEditReference"></el-button>
21
21
  </div>
22
- <div>{{ contract.reference || '--' }}</div>
22
+ <div style="word-wrap: break-word;">{{ contract.reference || '--' }}</div>
23
23
  </div>
24
24
  <div class="tab-root">
25
25
  <div :class="['tab', activeName == tabsItem.name ? 'active' : '']" v-for="tabsItem in saleTabsArr" :key="tabsItem.id" @click="changeTabs(tabsItem)">
26
26
  {{ tabsItem.label }}
27
27
  </div>
28
28
  </div>
29
- <div>
30
- <!-- 选择项 -->
31
- <div class="selection-root">
32
- <span>{{ $t('contractDetail.Selected') }} {{ selectFileList.length }} {{ $t('contractDetail.item') }}</span>
33
- <div class="border-button" @click.stop="downLoadAll">{{ $t('contractDetail.Download_All') }}</div>
34
- <div class="border-button" @click.stop="deleteAll">{{ $t('contractDetail.Delete_All') }}</div>
35
- <div class="border-button" @click.stop="cancelAll">{{ $t('contractDetail.Deselect') }}</div>
36
- </div>
37
- </div>
38
29
  </div>
39
- <div class="app-container-right">
30
+ <div class="app-container-right" :style="activeName == 'fourth' ? 'overflow:visible' : 'overflow:auto'">
40
31
  <contract-summary v-if="activeName == 'first'" :channel="channel"></contract-summary>
41
32
  <contract-info v-if="activeName == 'second'" :channel="channel"></contract-info>
42
33
  <!-- 提单指令 -->
@@ -54,7 +45,6 @@
54
45
  :contract="contract"
55
46
  :channel="channel"
56
47
  :buyerFlag="buyerFlag"
57
- :selectFileListProp="selectFileList"
58
48
  ref="contractFileRef"
59
49
  ></contract-file>
60
50
  </div>
@@ -106,7 +96,6 @@ import ContractSummary from './contractSummary.vue'
106
96
  import BillInfo from './billInfo.vue'
107
97
  import ContractFile from '../bizFileInfo/contract.vue'
108
98
  import ContractInfo from './contractInfo.vue'
109
- import { delBizFileInfo } from '../../../api/biz/bizFileInfo'
110
99
 
111
100
  export default {
112
101
  name: 'ContractTracingDetail',
@@ -165,7 +154,6 @@ export default {
165
154
  }
166
155
  ],
167
156
 
168
- selectFileList: [],
169
157
  // 提单指令列表
170
158
  blList: null,
171
159
  activeBillIndex: null
@@ -205,46 +193,7 @@ export default {
205
193
  console.log(e)
206
194
  })
207
195
  },
208
- /**
209
- * @description: 取消全部选择
210
- * @return {*}
211
- */
212
- cancelAll() {
213
- this.$refs.contractFileRef.cancelAllSelectFileList()
214
- },
215
-
216
- /**
217
- * @description: 全部下载
218
- * @return {*}
219
- */
220
- downLoadAll() {
221
- if (this.selectFileList.length == 0) {
222
- return this.$message.warning(this.$t('contractDetail.please_select_file'))
223
- }
224
- this.$refs.contractFileRef.downloadZip()
225
- },
226
- deleteAll() {
227
- console.log('==delBizFileInfo==', this.selectFileList)
228
- if (this.selectFileList.length == 0) {
229
- return this.$message.warning(this.$t('contractDetail.please_select_file'))
230
- }
231
-
232
- this.$confirm('是否删除选中文件', '提示', {
233
- confirmButtonText: '确定',
234
- cancelButtonText: '取消',
235
- type: 'warning'
236
- })
237
- .then(() => {
238
- const ids = this.selectFileList.map((item) => item.fileId)
239
- delBizFileInfo(ids).then(() => {
240
- this.$message.success('删除成功')
241
- this.$refs.contractFileRef.handleRefresh()
242
- })
243
- })
244
- .catch(() => {
245
- this.$message.info('已取消删除')
246
- })
247
- },
196
+
248
197
  /**
249
198
  * @description: 切换tab
250
199
  * @param {*} tab
@@ -329,29 +278,8 @@ export default {
329
278
  height: 100%;
330
279
  overflow: auto;
331
280
  }
281
+
332
282
  }
333
283
  }
334
284
 
335
- .selection-root {
336
- margin-top: 26px;
337
- display: flex;
338
- flex-direction: column;
339
- justify-content: center;
340
- align-items: center;
341
- margin-bottom: 20px;
342
- }
343
-
344
- .border-button {
345
- margin-top: 10px;
346
- padding: 0 10px;
347
- width: max-content;
348
- height: 21px;
349
- text-align: center;
350
- line-height: 17px;
351
- background: #ffffff;
352
- border-radius: 11px;
353
- font-size: 12px;
354
- border: 2px solid #d1d3d4;
355
- cursor: pointer;
356
- }
357
285
  </style>
@@ -157,22 +157,22 @@
157
157
  <el-collapse-item name="3">
158
158
  <template slot="title">
159
159
  <el-row style="width: 75%">
160
- <el-form-item class="mt20" :label="$t('contract.secondNotifier') + ':'">{{ 'TTYY INTERNATIONAL LIMITED' }}</el-form-item>
160
+ <el-form-item class="mt20" :label="$t('contract.secondNotifier') + ':'">{{ secondNotifyInfoInfo ? secondNotifyInfoInfo.companyName : "" }}</el-form-item>
161
161
  </el-row>
162
162
  </template>
163
163
  <el-form-item :label="$t('contract.taxId') + ':'">
164
- {{ '73855725-000-23-0' }}
164
+ {{ secondNotifyInfoInfo ? secondNotifyInfoInfo.taxNumber : "" }}
165
165
  </el-form-item>
166
166
  <el-form-item :label="$t('contract.notifierAddress') + ':'">
167
- {{ 'FLAT/RM 07, 12/F, CHEVALIER COMMERCIAL CENTRE, 8 WANG HOI ROAD, KOWLOON BAY' }}
167
+ {{ secondNotifyInfoInfo ? secondNotifyInfoInfo.address : "" }}
168
168
  </el-form-item>
169
169
  <el-form-item :label="$t('contract.contact') + ':'">
170
- {{ 'Ms. Zhou' }}
170
+ {{ secondNotifyInfoInfo ? secondNotifyInfoInfo.contactPerson : "" }}
171
171
  </el-form-item>
172
172
  <el-form-item :label="$t('contract.phoneNumber') + ':'">
173
- {{ '00-852 53816912' }}
173
+ {{ secondNotifyInfoInfo ? secondNotifyInfoInfo.phoneNumber : "" }}
174
174
  </el-form-item>
175
- <el-form-item :label="$t('contract.email') + ':'">{{ 'info@tyzltech.com' }}</el-form-item>
175
+ <el-form-item :label="$t('contract.email') + ':'">{{ secondNotifyInfoInfo ? secondNotifyInfoInfo.email : "" }}</el-form-item>
176
176
  </el-collapse-item>
177
177
  </el-collapse>
178
178
 
@@ -283,12 +283,11 @@
283
283
  </template>
284
284
 
285
285
  <script>
286
- import { getBizDealRecord, updateBizDealRecord } from '../../../api/biz/bizDealRecord'
287
286
  import { listBizContractCompany } from '../../../api/biz/bizContractCompany'
288
287
  import SubCompanyDialog from './subCompanyDialog.vue'
289
288
  import BillGoods from './billGoods.vue'
290
289
  import { listCompanyBillGoods } from '../../../api/biz/bizCompanyBillGoods'
291
- import { getBizContract, changeBizStatus } from '../../../api/biz/bizContract'
290
+ import { getBizContract, getContractBliDetail, updateContractBli, getSecondNotifyInfo } from '../../../api/biz/bizContract'
292
291
  import FileUpload from '../../../components/FileUpload/s3.vue'
293
292
 
294
293
  export default {
@@ -336,7 +335,8 @@ export default {
336
335
  notifierCompanyId: [{ required: true, trigger: 'blur', message: this.$t('bill.tip4') }],
337
336
  goodsName: [{ required: true, trigger: 'blur' }]
338
337
  },
339
- contract: null
338
+ contract: null,
339
+ secondNotifyInfoInfo: null
340
340
  }
341
341
  },
342
342
  watch: {
@@ -367,13 +367,16 @@ export default {
367
367
  }
368
368
  }
369
369
  },
370
- created() {},
370
+ created() {
371
+ this.getSecondNotifyInfo();
372
+ },
371
373
  methods: {
372
- async handleEdit(contractId, dealId) {
374
+ async handleEdit(contractId, buyerCompanyId) {
375
+ this.form.buyerCompanyId = buyerCompanyId
373
376
  const loading = this.openLoading()
374
377
  try {
375
378
  // 等待异步方法完成
376
- await this.getDealRecord(dealId)
379
+ await this.getBliDetail(contractId)
377
380
  await this.getContract(contractId)
378
381
  // 异步操作完成后设置open为true
379
382
  this.open = true
@@ -544,13 +547,15 @@ export default {
544
547
  }
545
548
  this.resetForm('form')
546
549
  },
547
- getDealRecord(dealId) {
550
+ getBliDetail(contractId) {
548
551
  // 将整个方法体封装在返回的Promise中
552
+ const buyerCompanyId = this.form.buyerCompanyId
549
553
  return new Promise((resolve, reject) => {
550
554
  this.reset()
551
- getBizDealRecord(dealId)
555
+ getContractBliDetail(contractId)
552
556
  .then((response) => {
553
- this.form = response.data
557
+ this.form = {...this.form, ...response.data, buyerCompanyId, contractId}
558
+ console.log("getContractBliDetail -- this.form:", this.form)
554
559
  if (this.form.buyerCompanyBillGoods) {
555
560
  this.form.buyerCompanyBillGoods = JSON.parse(this.form.buyerCompanyBillGoods)
556
561
  } else {
@@ -563,7 +568,7 @@ export default {
563
568
  this.getContractCompanyList(this.form.buyerCompanyId)
564
569
  this.getCompanyBillGoods(this.form.buyerCompanyId)
565
570
 
566
- this.form.dealRecordDetailList.map((item) => {
571
+ this.form?.dealRecordDetailList?.map((item) => {
567
572
  if (item.imageList) {
568
573
  item.askCover = item.imageList.toString()
569
574
  }
@@ -585,19 +590,22 @@ export default {
585
590
  submitForm() {
586
591
  this.$refs['form'].validate((valid) => {
587
592
  if (valid) {
588
- if (this.form.dealId != null) {
589
- var deal = JSON.parse(JSON.stringify(this.form))
590
- deal.buyerCompanyBillGoods = JSON.stringify(deal.buyerCompanyBillGoods)
591
- deal.blConfirmFlag = this.confirmFlag
592
- updateBizDealRecord(deal).then((response) => {
593
- this.open = false
594
- this.$modal.msgSuccess('Save Success')
595
- this.$emit('edit')
596
- })
597
- }
593
+ var deal = JSON.parse(JSON.stringify(this.form))
594
+ deal.buyerCompanyBillGoods = JSON.stringify(deal.buyerCompanyBillGoods)
595
+ deal.blConfirmFlag = this.confirmFlag
596
+ updateContractBli(deal).then((response) => {
597
+ this.open = false
598
+ this.$modal.msgSuccess('Save Success')
599
+ this.$emit('edit')
600
+ })
598
601
  }
599
602
  })
600
- }
603
+ },
604
+ getSecondNotifyInfo() {
605
+ getSecondNotifyInfo().then((res) => {
606
+ this.secondNotifyInfoInfo = res.data;
607
+ })
608
+ },
601
609
  }
602
610
  }
603
611
  </script>