doctor-admin-components 1.0.13-pro.1 → 1.0.14-beta.10

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 (47) hide show
  1. package/README.md +15 -2
  2. package/package.json +1 -1
  3. package/packages/index.js +16 -1
  4. package/packages/src/api/biz/bizContract.js +1005 -0
  5. package/packages/src/api/biz/bizFileInfo.js +16 -0
  6. package/packages/src/api/biz/bizInvoice.js +1 -1
  7. package/packages/src/api/biz/bizShipment.js +38 -0
  8. package/packages/src/assets/images/click-show-table.png +0 -0
  9. package/packages/src/assets/images/more.png +0 -0
  10. package/packages/src/assets/images/pdf-new.png +0 -0
  11. package/packages/src/components/DictTag/index.vue +12 -2
  12. package/packages/src/components/FileUpload/contract-drag-new.vue +100 -11
  13. package/packages/src/i18n/en/message.json +305 -0
  14. package/packages/src/i18n/index.js +38 -0
  15. package/packages/src/i18n/zh-CN/message.json +305 -0
  16. package/packages/src/index.js +24 -1
  17. package/packages/src/utils/MycommonUtil.js +12 -0
  18. package/packages/src/utils/index.js +35 -0
  19. package/packages/src/views/biz/bizFileInfo/PAYMENT_VOUCHER(/"payment_voucher/", /"/344/273/230/346/254/276/345/207/255/350/257/201.ini" +222 -0
  20. package/packages/src/views/biz/bizFileInfo/contract copy.vue +1711 -0
  21. package/packages/src/views/biz/bizFileInfo/contract.vue +1925 -1019
  22. package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +116 -0
  23. package/packages/src/views/biz/bizFileInfo/contractFile/ContentTitle.vue +102 -0
  24. package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +324 -0
  25. package/packages/src/views/biz/bizFileInfo/contractFile/Progress.vue +85 -0
  26. package/packages/src/views/biz/bizFileInfo/contractFile/ProgressDetail.vue +123 -0
  27. package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +91 -0
  28. package/packages/src/views/biz/bizFileInfo/contractFile/ShowAndHide.vue +178 -0
  29. package/packages/src/views/biz/bizFileInfo/fileShow copy.vue +321 -0
  30. package/packages/src/views/biz/bizFileInfo/fileShow.vue +152 -48
  31. package/packages/src/views/biz/bizFileInfo/fileShowClaim.vue +1 -1
  32. package/packages/src/views/biz/bizShipment/add.vue +178 -29
  33. package/packages/src/views/biz/bizShipment/referenceAlert.vue +168 -0
  34. package/packages/src/views/biz/contractTracing/billInfo.vue +64 -40
  35. package/packages/src/views/biz/contractTracing/companyBanks.vue +228 -0
  36. package/packages/src/views/biz/contractTracing/contractInfo.vue +1 -1
  37. package/packages/src/views/biz/contractTracing/contractPdf.vue +10 -5
  38. package/packages/src/views/biz/contractTracing/contractSummary.vue +31 -19
  39. package/packages/src/views/biz/contractTracing/contractTracingDetail copy.vue +107 -0
  40. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +209 -31
  41. package/packages/src/views/biz/contractTracing/editBill.vue +22 -9
  42. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +153 -7
  43. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +14 -0
  44. package/packages/src/views/biz/contractTracing/subCompanyDialog.vue +8 -2
  45. package/packages/src/views/components/RegionPicker/Distpicker.vue +459 -0
  46. package/packages/src/views/components/RegionPicker/districts.js +4641 -0
  47. package/packages/src/views/test.vue +3 -3
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div>
3
- <div v-if="saleContract && saleContract.submitFlag">
3
+ <div v-if="billData && billData.submitFlag">
4
4
  <div class="info" id="printPdf" v-if="!printModel">
5
5
  <el-form :model="form" ref="form" size="mini" :rules="rules">
6
6
  <div v-if="form.shipperFlag">
@@ -49,9 +49,10 @@
49
49
  </div>
50
50
  <el-row>
51
51
  <el-col :span="22">
52
- <div class="sub-title mb20">{{ $t('contract.consigneeInfo') }}</div>
52
+ <span class="sub-title mb20">{{ $t('contract.consigneeInfo') }}</span>
53
+ <span v-if="billData.blConfirmFlag == '2'" style="font-size: 16px; color: red; font-weight: bold; padding-left: 10px"> 已作废 </span>
53
54
  </el-col>
54
- <el-col :span="2">
55
+ <el-col v-if="billData.blConfirmFlag != '2'" :span="2">
55
56
  <el-button type="text" @click="editBill">
56
57
  {{ $t('contractDetail.edit') }}
57
58
  </el-button>
@@ -246,9 +247,14 @@
246
247
  </el-row>
247
248
  </el-row>
248
249
 
249
- <el-form-item :label="$t('contractDetail.destination') + ':'">{{ contract.destination }}</el-form-item>
250
+ <el-form-item v-if="contract && contract.freightTerms && contract.freightTerms != 'EXW'" :label="$t('contractDetail.destination') + ':'">{{
251
+ contract.destination
252
+ }}</el-form-item>
253
+ <el-form-item v-else :label="'EXW Address' + ':'">{{ contract.exw }}</el-form-item>
250
254
 
251
- <el-form-item :label="$t('contract.terminal') + ':'">{{ form.terminal }}</el-form-item>
255
+ <el-form-item v-if="contract && contract.freightTerms && contract.freightTerms != 'EXW'" :label="$t('contract.terminal') + ':'">{{
256
+ form.terminal
257
+ }}</el-form-item>
252
258
 
253
259
  <el-form-item :label="$t('contract.shippingMarks') + ':'">{{ form.shippingMark }}</el-form-item>
254
260
 
@@ -291,13 +297,13 @@
291
297
  </template>
292
298
 
293
299
  <script>
294
- import { getBizDealRecordByAskId, updateBizDealRecord } from '../../../api/biz/bizDealRecord'
300
+ // import { getBizDealRecordByAskId, updateBizDealRecord } from '../../../api/biz/bizDealRecord'
295
301
  import { exportPdf } from '../../../utils/pdf'
296
302
  import { listBizContractCompany } from '../../../api/biz/bizContractCompany'
297
303
  import BillPdf from './billPdf.vue'
298
304
  import { listCompanyBillGoods } from '../../../api/biz/bizCompanyBillGoods'
299
305
  import EditBill from './editBill.vue'
300
- import { getSaleContractInfo } from '../../../api/biz/bizContract'
306
+ // import { getSaleContractInfo } from '../../../api/biz/bizContract'
301
307
 
302
308
  export default {
303
309
  name: 'BillInfo',
@@ -309,13 +315,26 @@ export default {
309
315
  channel: {
310
316
  type: String,
311
317
  default: ''
318
+ },
319
+ // 提单指令数据
320
+ billData: {
321
+ type: Object,
322
+ default: null
312
323
  }
313
324
  },
314
325
  components: { BillPdf, EditBill },
326
+ watch: {
327
+ billData: {
328
+ handler(val) {
329
+ this.getDealRecord(this.contract.askId)
330
+ },
331
+ immediate: true
332
+ }
333
+ },
315
334
  data() {
316
335
  return {
317
336
  //
318
- saleContract: null,
337
+ // saleContract: null,
319
338
  // 遮罩层
320
339
  loading: true,
321
340
  // 弹出层标题
@@ -359,19 +378,21 @@ export default {
359
378
  if (printModel == 1) {
360
379
  this.printModel = true
361
380
  }
362
- this.getSaleContractInfo(this.contract.dealId)
381
+ // this.getSaleContractInfo(this.contract.dealId)
363
382
  },
364
383
  methods: {
365
- getSaleContractInfo(dealId) {
366
- getSaleContractInfo(dealId).then((res) => {
367
- this.saleContract = res.data
368
- })
369
- },
384
+ // getSaleContractInfo(dealId) {
385
+ // getSaleContractInfo(dealId).then((res) => {
386
+ // this.saleContract = res.data
387
+ // })
388
+ // },
370
389
  edit() {
371
- this.getDealRecord(this.contract.askId)
390
+ // this.getDealRecord(this.contract.askId)
391
+ // 通知外层刷新数据
392
+ this.$emit('refresh')
372
393
  },
373
394
  editBill() {
374
- this.$refs.editBill.handleEdit(this.contract.contractId, this.form.dealId)
395
+ this.$refs.editBill.handleEdit(this.billData.contractId, this.form.dealId)
375
396
  },
376
397
  //子公司更新
377
398
  changeSubCompanyList() {
@@ -437,7 +458,7 @@ export default {
437
458
  //成交没收货人公司取默认 否则取收货人公司信息
438
459
  if (!this.form.deliveryCompanyId && defaultDeliveryCompany) {
439
460
  this.form.deliveryCompanyId = defaultDeliveryCompany.contractCompanyId
440
- this.form.deliveryCompany = defaultDeliveryCompany
461
+ this.$set(this.form, 'deliveryCompany', defaultDeliveryCompany)
441
462
  } else {
442
463
  const deliveryCompany = contractCompanyList.find((item) => item.contractCompanyId == this.form.deliveryCompanyId)
443
464
  this.$set(this.form, 'deliveryCompany', deliveryCompany)
@@ -446,7 +467,7 @@ export default {
446
467
  //成交没通知人公司取默认 否则取通知人公司信息
447
468
  if (!this.form.notifierCompanyId && notifierDeliveryCompany) {
448
469
  this.form.notifierCompanyId = notifierDeliveryCompany.contractCompanyId
449
- this.form.notifierCompany = notifierDeliveryCompany
470
+ this.$set(this.form, 'notifierCompany', notifierDeliveryCompany)
450
471
  } else {
451
472
  const notifierCompany = contractCompanyList.find((item) => item.contractCompanyId == this.form.notifierCompanyId)
452
473
  this.$set(this.form, 'notifierCompany', notifierCompany)
@@ -531,26 +552,29 @@ export default {
531
552
  this.resetForm('form')
532
553
  },
533
554
  getDealRecord(askId) {
534
- this.loading = false
535
- this.reset()
536
- getBizDealRecordByAskId(askId).then((response) => {
537
- this.form = response.data
538
- if (this.form.buyerCompanyBillGoods) {
555
+ // 使用新接口,传递进来的数据!
556
+ this.form = this.billData
557
+ // this.loading = false
558
+ // this.reset()
559
+ // getBizDealRecordByAskId(askId).then((response) => {
560
+ // this.form = response.data
561
+ if (this.form.buyerCompanyBillGoods) {
562
+ if (typeof this.form.buyerCompanyBillGoods === 'string') {
539
563
  this.form.buyerCompanyBillGoods = JSON.parse(this.form.buyerCompanyBillGoods)
540
- } else {
541
- this.form.buyerCompanyBillGoods = []
542
- this.addBillGoods()
543
564
  }
544
-
545
- this.getContractCompanyList(this.form.buyerCompanyId)
546
- this.getCompanyBillGoods(this.form.buyerCompanyId)
547
- this.form.dealRecordDetailList.map((item) => {
548
- if (item.imageList) {
549
- item.askCover = item.imageList.toString()
550
- }
551
- })
552
- this.loading = true
553
- })
565
+ } else {
566
+ this.form.buyerCompanyBillGoods = []
567
+ this.addBillGoods()
568
+ }
569
+ this.getContractCompanyList(this.form.buyerCompanyId)
570
+ this.getCompanyBillGoods(this.form.buyerCompanyId)
571
+ // this.form.dealRecordDetailList.map((item) => {
572
+ // if (item.imageList) {
573
+ // item.askCover = item.imageList.toString()
574
+ // }
575
+ // })
576
+ // this.loading = true
577
+ // })
554
578
  },
555
579
  /** 提交按钮 */
556
580
  submitForm() {
@@ -588,20 +612,20 @@ export default {
588
612
  this.download(
589
613
  'biz/contract/downBill',
590
614
  {
591
- contractId: this.contract.contractId,
615
+ contractId: this.billData.contractId,
592
616
  templateType: command
593
617
  },
594
- `${'BLI-' + this.contract.contractNo + '_' + this.parseTime(new Date(), '{y}{m}{d}')}.xlsx`
618
+ `${'BLI-' + this.billData.contractNo + '_' + this.parseTime(new Date(), '{y}{m}{d}')}.xlsx`
595
619
  )
596
620
  }
597
621
  if (command == 'PDF') {
598
622
  this.download(
599
623
  'biz/contract/downBill',
600
624
  {
601
- contractId: this.contract.contractId,
625
+ contractId: this.billData.contractId,
602
626
  templateType: command
603
627
  },
604
- `${'BLI-' + this.contract.contractNo + '_' + this.parseTime(new Date(), '{y}{m}{d}')}.pdf`
628
+ `${'BLI-' + this.billData.contractNo + '_' + this.parseTime(new Date(), '{y}{m}{d}')}.pdf`
605
629
  )
606
630
  }
607
631
  }
@@ -0,0 +1,228 @@
1
+ <template>
2
+ <div class="bank-view-container">
3
+ <!-- 收款账户信息-展示(业务场景:生成收付款、收付款票据) -->
4
+ <el-row style="padding-top: 15px; padding-left: 10px">
5
+ <div style="font-size: 16px; color: #222222">收款账号信息</div>
6
+ <div style="padding-left: 30px; padding-top: 2px">
7
+ 选择的收款账户信息会提供给财务进行打款/对账
8
+ </div>
9
+ </el-row>
10
+ <!-- 列表数据 -->
11
+ <div
12
+ v-for="(bankData, i) in bankList"
13
+ :key="i"
14
+ class="bank-container"
15
+ :class="{ 'bank-container-select': !disableSelect && sellectIndex == i, 'bank-container-unselect': disableSelect || sellectIndex != i }"
16
+ @click="clickSelct(i)"
17
+ >
18
+ <el-row style="padding-bottom: 20px">
19
+ <el-col :span="24">
20
+ <div class="bank-item" style="padding-top: 5px">Swift Code:{{ bankData.swiftCode }}</div>
21
+ </el-col>
22
+ <el-col :span="24">
23
+ <div class="bank-item">Bank Name:{{ bankData.bankName }}</div>
24
+ </el-col>
25
+ <el-col :span="24">
26
+ <div class="bank-item" style="padding-bottom: 20px">Bank Address:{{ bankData.bankAddress }}</div>
27
+ </el-col>
28
+ <el-col :span="24">
29
+ <div class="bank-item">Beneficiary Account:{{ bankData.beneficiaryAccount }}</div>
30
+ </el-col>
31
+ <el-col :span="24">
32
+ <div class="bank-item">Beneficiary:{{ bankData.beneficiary }}</div>
33
+ </el-col>
34
+ <el-col :span="24">
35
+ <div class="bank-item">Beneficiary Address:{{ bankData.beneficiaryAddress }}</div>
36
+ </el-col>
37
+ </el-row>
38
+ </div>
39
+ <!-- 添加入口 -->
40
+ <div v-if="!bankList || bankList.length == 0" style="padding-left: 30px; padding-top: 10px">
41
+ <span>未添加收款账户信息,</span>
42
+ <el-button type="text" size="mini" @click="clickAdd">去添加</el-button>
43
+ </div>
44
+ <div v-else-if="bankList && bankList.length < 3" style="padding-left: 30px; padding-top: 10px">
45
+ <el-button type="text" size="mini" @click="clickAdd">去添加</el-button>
46
+ <span>收款账户信息</span>
47
+ </div>
48
+ <!-- 添加收款账户弹框 -->
49
+ <el-dialog title="添加收款账户" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
50
+ <el-form ref="form" :model="form" :rules="rules" label-width="100px">
51
+ <el-row>
52
+ <el-col :span="18">
53
+ <el-form-item label="Swift Code" label-width="150px">
54
+ <el-input maxlength="500" v-model="form.swiftCode" placeholder="请输入内容" />
55
+ </el-form-item>
56
+ </el-col>
57
+ <el-col :span="18">
58
+ <el-form-item label="Bank Name" label-width="150px">
59
+ <el-input maxlength="500" v-model="form.bankName" placeholder="请输入内容" />
60
+ </el-form-item>
61
+ </el-col>
62
+ <el-col :span="18">
63
+ <el-form-item label="Bank Address" label-width="150px">
64
+ <el-input maxlength="500" v-model="form.bankAddress" placeholder="请输入内容" />
65
+ </el-form-item>
66
+ </el-col>
67
+ <el-col :span="18">
68
+ <el-form-item label="Beneficiary Account" label-width="150px">
69
+ <el-input maxlength="500" v-model="form.beneficiaryAccount" placeholder="请输入内容" />
70
+ </el-form-item>
71
+ </el-col>
72
+ <el-col :span="18">
73
+ <el-form-item label="Beneficiary" label-width="150px">
74
+ <el-input maxlength="500" v-model="form.beneficiary" placeholder="请输入内容" />
75
+ </el-form-item>
76
+ </el-col>
77
+ <el-col :span="18">
78
+ <el-form-item label="Beneficiary Address" label-width="150px">
79
+ <el-input maxlength="500" v-model="form.beneficiaryAddress" placeholder="请输入内容" />
80
+ </el-form-item>
81
+ </el-col>
82
+ </el-row>
83
+ </el-form>
84
+ <div slot="footer" class="dialog-footer">
85
+ <el-button @click="clickCancel">取 消</el-button>
86
+ <el-button type="primary" @click="clickConfirm">确 定</el-button>
87
+ </div>
88
+ </el-dialog>
89
+ </div>
90
+ </template>
91
+
92
+ <script>
93
+ import { insertCompanyBank, getCompanyBanks } from '../../../api/biz/bizContract'
94
+
95
+ export default {
96
+ name: 'CompanyBanks',
97
+ props: {
98
+ // 收款账户的公司id(目前是合同contractId)
99
+ companyId: {
100
+ type: String | Number,
101
+ default: null
102
+ },
103
+ // 是否禁止选择功能
104
+ disableSelect: {
105
+ type: Boolean,
106
+ default: false
107
+ },
108
+ // 之前选择的id
109
+ accountId: {
110
+ type: String | Number,
111
+ default: null
112
+ }
113
+ },
114
+ watch: {
115
+ companyId: {
116
+ handler(newVal, oldVal) {
117
+ console.log('companyId changed:', newVal)
118
+ this.sellectIndex = -1
119
+ this.getBankList()
120
+ }
121
+ },
122
+ accountId: {
123
+ handler(newVal, oldVal) {
124
+ console.log('accountId changed:', newVal)
125
+ this.handleCaclSelectIndex()
126
+ }
127
+ }
128
+ },
129
+ data() {
130
+ return {
131
+ open: false,
132
+ sellectIndex: -1,
133
+ bankList: null,
134
+ form: {
135
+ swiftCode: null,
136
+ bankName: null,
137
+ bankAddress: null,
138
+ beneficiaryAccount: null,
139
+ beneficiary: null,
140
+ beneficiaryAddress: null
141
+ },
142
+ rules: {}
143
+ }
144
+ },
145
+ created() {
146
+ // 获取收款账户信息
147
+ this.getBankList()
148
+ },
149
+ methods: {
150
+ restForm() {
151
+ this.form = {
152
+ swiftCode: null,
153
+ bankName: null,
154
+ bankAddress: null,
155
+ beneficiaryAccount: null,
156
+ beneficiary: null,
157
+ beneficiaryAddress: null
158
+ }
159
+ },
160
+ handleCaclSelectIndex() {
161
+ if (!this.disableSelect && this.accountId) {
162
+ this.sellectIndex = this.bankList.findIndex((item) => item.accountId == this.accountId)
163
+ if (this.sellectIndex == -1) {
164
+ console.log('pre accountId invalide')
165
+ this.$emit('selectBank', null)
166
+ }
167
+ }
168
+ },
169
+ getBankList() {
170
+ if (!this.companyId) {
171
+ return
172
+ }
173
+ getCompanyBanks(this.companyId).then((res) => {
174
+ this.bankList = res.data?.paymentAccountList
175
+ this.handleCaclSelectIndex()
176
+ })
177
+ },
178
+ clickAdd() {
179
+ this.restForm()
180
+ this.open = true
181
+ },
182
+ clickSelct(index) {
183
+ if (this.disableSelect) {
184
+ console.log('disableSelect')
185
+ return
186
+ }
187
+ this.sellectIndex = index
188
+ let data = this.bankList[index]
189
+ console.log('select data', data)
190
+ this.$emit('selectBank', data)
191
+ },
192
+ clickCancel() {
193
+ this.open = false
194
+ },
195
+ clickConfirm() {
196
+ let e = this.form
197
+ if (!(e.swiftCode || e.bankName || e.bankAddress || e.beneficiaryAccount || e.beneficiary || e.beneficiaryAddress)) {
198
+ this.$modal.msgError('请输入内容')
199
+ return
200
+ }
201
+ insertCompanyBank({
202
+ contractId: this.companyId,
203
+ paymentAccountList: [e]
204
+ }).then((res) => {
205
+ this.getBankList()
206
+ this.open = false
207
+ })
208
+ }
209
+ }
210
+ }
211
+ </script>
212
+
213
+ <style scoped lang="scss">
214
+ .bank-container {
215
+ background-color: rgb(240, 240, 240);
216
+ padding: 20px 10px 5px;
217
+ margin-top: 10px;
218
+ }
219
+ .bank-container-select {
220
+ border: 1px solid blue;
221
+ }
222
+ .bank-container-unselect {
223
+ border: 1px solid rgb(240, 240, 240);
224
+ }
225
+ .bank-item {
226
+ padding: 2px 40px 2px;
227
+ }
228
+ </style>
@@ -63,7 +63,7 @@
63
63
  </el-table-column>
64
64
  </el-table>
65
65
  </el-form-item>
66
- <el-button type="text" size="small" @click="handleChangeLog">历史记录</el-button>
66
+ <el-button type="text" v-if="channel !== 'official-website'" size="small" @click="handleChangeLog">历史记录</el-button>
67
67
  <contract-pdf :contract="contract" :dynamicTags="dynamicTags" :customClause="customClause"></contract-pdf>
68
68
  </el-form>
69
69
  <contract-change-log ref="contractChangeLog"></contract-change-log>
@@ -42,7 +42,7 @@
42
42
  >
43
43
  <el-table-column label="Description" align="center" prop="askName"></el-table-column>
44
44
  <el-table-column label="Quantity" align="center" prop="weight">
45
- <template slot-scope="scope">{{ scope.row.weight }}MT</template>
45
+ <template slot-scope="scope">{{ CommonFormatNumber(scope.row.weight) }}MT</template>
46
46
  </el-table-column>
47
47
  <el-table-column label="Unit Price/MT" align="center" width="200">
48
48
  <template slot-scope="{ row }">
@@ -117,14 +117,17 @@
117
117
  <div v-else>{{ contract.otherPaymentTerm }}</div>
118
118
  </el-descriptions-item>
119
119
  <el-descriptions-item label="Price Fixing Option">
120
- {{ contract.livePriceDays }} Days {{ contract.livePriceForm }} cargo arrives at POD in
121
- {{ contract.livePriceUsertype }}
122
- {{ contract.livePriceType }}'s option
120
+ <div v-if="contract.livePriceSwitch">
121
+ {{ contract.livePriceDays }} Days {{ contract.livePriceForm }} cargo arrives at POD in
122
+ {{ contract.livePriceUsertype }}
123
+ {{ contract.livePriceType }}'s option
124
+ </div>
123
125
  </el-descriptions-item>
124
126
 
125
127
  <el-descriptions-item label="Origin Country/Region">{{ contract.originCountry }}</el-descriptions-item>
126
128
  <el-descriptions-item label="Loading Country/Region">{{ contract.loadingCountry }}</el-descriptions-item>
127
- <el-descriptions-item label="Destination">{{ contract.destination }}</el-descriptions-item>
129
+ <el-descriptions-item v-if="contract.freightTerms != 'EXW'" label="Destination">{{ contract.destination }}</el-descriptions-item>
130
+ <el-descriptions-item v-else label="EXW Address">{{ contract.exw }}</el-descriptions-item>
128
131
  <el-descriptions-item label="Special Instructions">
129
132
  {{ contract.numberOfContainersForTwenty }}x 20' Container
130
133
  <br />
@@ -190,6 +193,7 @@
190
193
 
191
194
  <script>
192
195
  import { exportPdf } from '../../../utils/pdf'
196
+ import { CommonFormatNumber } from '../../../utils/MycommonUtil'
193
197
 
194
198
  export default {
195
199
  name: 'ContractPdf',
@@ -259,6 +263,7 @@ export default {
259
263
  },
260
264
  created() {},
261
265
  methods: {
266
+ CommonFormatNumber,
262
267
  //设置打印model为true
263
268
  setPrintModel(val) {
264
269
  this.printModel = val
@@ -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-03-20 09:46:11
5
+ * @LastEditTime: 2024-07-17 15:35:31
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
  -->
@@ -101,7 +101,8 @@
101
101
  <el-form-item :label="$t('contractDetail.paymentType')">{{ dealRecord.paymentType }}</el-form-item>
102
102
  </el-col>
103
103
  <el-col :span="8">
104
- <el-form-item :label="$t('contractDetail.destination')">{{ dealRecord.buyerDestination }}</el-form-item>
104
+ <el-form-item v-if="dealRecord.paymentType != 'EXW'" :label="$t('contractDetail.destination')">{{ dealRecord.buyerDestination }}</el-form-item>
105
+ <el-form-item v-else label="EXW">{{ dealRecord.exw }}</el-form-item>
105
106
  </el-col>
106
107
  </el-row>
107
108
  <el-row>
@@ -167,7 +168,11 @@
167
168
  <el-table-column v-if="channel !== 'official-website'" :label="$t('contractDetail.subCategory')" prop="subCategoryName" width="110"></el-table-column>
168
169
  <el-table-column :label="$t('contractDetail.packaging')" prop="packingMethod" width="90" />
169
170
  <el-table-column prop="descriptions" :label="$t('contractDetail.description')" :width="channel === 'official-website' ? 200 : 160"></el-table-column>
170
- <el-table-column prop="weight" :label="$t('contractDetail.weight')" width="120px"></el-table-column>
171
+ <el-table-column prop="weight" :label="$t('contractDetail.weight')" width="120px">
172
+ <template slot-scope="scope">
173
+ {{ CommonFormatNumber(scope.row.weight) }}
174
+ </template>
175
+ </el-table-column>
171
176
  <el-table-column v-if="channel !== 'official-website'" prop="sllerPrice" :label="$t('contractDetail.sellerPrice')" width="120">
172
177
  <template slot-scope="scope">
173
178
  <span v-if="dealRecord.quoteType == 'FIXED'">{{ '$' + scope.row.sllerPrice }}</span>
@@ -221,7 +226,7 @@
221
226
  <el-table-column v-if="channel !== 'official-website'" label="总金额" align="center" prop="amount" width="100" />
222
227
 
223
228
  <!-- 官网 -->
224
- <el-table-column v-if="channel == 'official-website'" :label="$t('contract.Payable_Amount')" align="center" prop="amount" width="100" />
229
+ <el-table-column v-if="channel == 'official-website'" :label="$t('contract.Payable_Amount')" align="center" prop="amount" width="140" />
225
230
  <el-table-column v-if="channel == 'official-website'" :label="$t('contract.Amount_Paid')" align="center" prop="amount" width="100">
226
231
  <template slot-scope="{ row }">{{ row.amount - row.remainingAmount }}</template>
227
232
  </el-table-column>
@@ -338,10 +343,9 @@
338
343
  >
339
344
  <!-- v-if="channel == 'official-website' && scope.row.showFallbackQuality" -->
340
345
  <el-button
341
- v-if="
342
- channel == 'official-website'"
346
+ v-if="channel == 'official-website'"
343
347
  size="mini"
344
- :type="scope.row.showFallbackQuality ? 'primary': 'info'"
348
+ :type="scope.row.showFallbackQuality ? 'primary' : 'info'"
345
349
  style="padding-left: 5px; padding-right: 5px"
346
350
  @click.stop="qualityFeedback(scope.row)"
347
351
  >{{ $t('contract.Quality_Feedback') }}</el-button
@@ -372,6 +376,7 @@ import { listBizInvoice, getInfoWithShipment } from '../../../api/biz/bizInvoice
372
376
  import { listBizShipment, getGeekYumToken, updateAllShipmentStatus } from '../../../api/biz/bizShipment'
373
377
  import { listContainerWithInvoice } from '../../../api/biz/bizContainer'
374
378
  import ShipmentDetail from '../bizShipment/detail.vue'
379
+ import { CommonFormatNumber } from '../../../utils/MycommonUtil'
375
380
 
376
381
  export default {
377
382
  name: 'ContractSummary',
@@ -490,6 +495,7 @@ export default {
490
495
  }
491
496
  },
492
497
  methods: {
498
+ CommonFormatNumber,
493
499
  /**
494
500
  * @description: 索赔类别
495
501
  * @param {*} type
@@ -535,6 +541,11 @@ export default {
535
541
  code: 3,
536
542
  en: 'Completed',
537
543
  cn: '已结束'
544
+ },
545
+ 4: {
546
+ code: 4,
547
+ en: 'Obsoleted',
548
+ cn: '已作废'
538
549
  }
539
550
  }
540
551
  const obj = claimTypeMap[type || '1']
@@ -547,10 +558,10 @@ export default {
547
558
  * @return {*}
548
559
  */
549
560
  qualityFeedback(row) {
550
- this.$buryingPoint({ data: { funcKey: 'click_feedback' } });
551
- if(!row.showFallbackQuality) {
552
- this.$message.warning(this.$t('contract.No_quality_feedback'));
553
- return;
561
+ this.$buryingPoint({ data: { funcKey: 'click_feedback' } })
562
+ if (!row.showFallbackQuality) {
563
+ this.$message.warning(this.$t('contract.No_quality_feedback'))
564
+ return
554
565
  }
555
566
 
556
567
  this.$store.commit('setBillNoInfo', {
@@ -726,17 +737,15 @@ ${invoiceNoTitleZh}:${invoiceNo}
726
737
  })
727
738
  },
728
739
  getGeekYumPage(shipment) {
729
- console.log(shipment)
730
740
  if (shipment.subNo) {
731
741
  let url =
732
742
  'https://tracking.geekyum.com/shipping/detail?bizNo=' +
733
- shipment.bookingNo.toString() +
743
+ (shipment?.bookingNo?.toString() ? shipment?.bookingNo?.toString() : shipment?.billOfLadingNo?.toString()) +
734
744
  '&bizType=1&subNo=' +
735
- shipment.subNo.toString() +
745
+ shipment?.subNo?.toString() +
736
746
  '&access_token=' +
737
747
  this.accessToken
738
748
  url = url + (this.isChina ? '&lang=zh' : '&lang=en')
739
- console.log(url)
740
749
  return url
741
750
  }
742
751
  },
@@ -804,7 +813,7 @@ ${invoiceNoTitleZh}:${invoiceNo}
804
813
  this.dealRecord = response.data
805
814
  this.dealRecord.dealRecordDetailList.map((item) => {
806
815
  if (item.imageList) {
807
- item.askCover = item.imageList.toString()
816
+ item.askCover = item?.imageList?.toString()
808
817
  }
809
818
  })
810
819
 
@@ -825,11 +834,14 @@ ${invoiceNoTitleZh}:${invoiceNo}
825
834
  }
826
835
  })
827
836
  listBizInvoice({
828
- contractId: this.contractId
837
+ contractId: this.contractId,
838
+ voidFlagSearch: this.channel == 'official-website' ? [0] : []
829
839
  }).then((response) => {
830
840
  this.invoiceList = response.rows
831
841
  })
832
- var queryParams = {}
842
+ var queryParams = {
843
+ voidStatus: this.channel == 'official-website' ? 0 : null
844
+ }
833
845
  if (this.contract.contractType == 'sale') {
834
846
  queryParams.saleContractId = this.contractId
835
847
  } else {
@@ -891,7 +903,7 @@ ${invoiceNoTitleZh}:${invoiceNo}
891
903
  this.dealRecord = response.data
892
904
  this.dealRecord.dealRecordDetailList.map((item) => {
893
905
  if (item.imageList) {
894
- item.askCover = item.imageList.toString()
906
+ item.askCover = item?.imageList?.toString()
895
907
  }
896
908
  })
897
909
  })