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

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 (46) hide show
  1. package/README.md +10 -2
  2. package/package.json +1 -1
  3. package/packages/index.js +16 -0
  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 +18 -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/index.js +35 -0
  18. 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
  19. package/packages/src/views/biz/bizFileInfo/contract copy.vue +1711 -0
  20. package/packages/src/views/biz/bizFileInfo/contract.vue +1783 -986
  21. package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +114 -0
  22. package/packages/src/views/biz/bizFileInfo/contractFile/ContentTitle.vue +102 -0
  23. package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +308 -0
  24. package/packages/src/views/biz/bizFileInfo/contractFile/Progress.vue +85 -0
  25. package/packages/src/views/biz/bizFileInfo/contractFile/ProgressDetail.vue +123 -0
  26. package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +83 -0
  27. package/packages/src/views/biz/bizFileInfo/contractFile/ShowAndHide.vue +178 -0
  28. package/packages/src/views/biz/bizFileInfo/fileShow copy.vue +321 -0
  29. package/packages/src/views/biz/bizFileInfo/fileShow.vue +143 -47
  30. package/packages/src/views/biz/bizFileInfo/fileShowClaim.vue +1 -1
  31. package/packages/src/views/biz/bizShipment/add.vue +134 -29
  32. package/packages/src/views/biz/bizShipment/referenceAlert.vue +168 -0
  33. package/packages/src/views/biz/contractTracing/billInfo.vue +64 -40
  34. package/packages/src/views/biz/contractTracing/companyBanks.vue +228 -0
  35. package/packages/src/views/biz/contractTracing/contractInfo.vue +1 -1
  36. package/packages/src/views/biz/contractTracing/contractPdf.vue +7 -4
  37. package/packages/src/views/biz/contractTracing/contractSummary.vue +24 -18
  38. package/packages/src/views/biz/contractTracing/contractTracingDetail copy.vue +107 -0
  39. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +281 -31
  40. package/packages/src/views/biz/contractTracing/editBill.vue +22 -9
  41. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +153 -7
  42. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +14 -0
  43. package/packages/src/views/biz/contractTracing/subCompanyDialog.vue +8 -2
  44. package/packages/src/views/components/RegionPicker/Distpicker.vue +459 -0
  45. package/packages/src/views/components/RegionPicker/districts.js +4641 -0
  46. package/packages/src/views/test.vue +3 -3
@@ -0,0 +1,168 @@
1
+ <template>
2
+ <div class>
3
+ <el-dialog :title="title" :visible.sync="open" width="75%" append-to-body>
4
+ <el-form ref="form" :model="form" label-width="100%">
5
+ <el-form-item class="vertical-form-item" :required="true" label="请选择您需要复制的装运:">
6
+ <el-row> 合同号 </el-row>
7
+ <el-row>
8
+ <el-select @change="selectContract" v-model="contractId" placeholder="请选择合同号">
9
+ <el-option v-for="(item, i) in shipmentList" :key="i" :label="item.contractNo" :value="item.contractId"></el-option>
10
+ </el-select>
11
+ </el-row>
12
+ <el-row v-if="contractId" style="padding-top: 15px"> 提单号 </el-row>
13
+ <el-row v-if="contractId">
14
+ <el-radio-group v-model="form.citeShipmentId">
15
+ <div v-for="(item, i) in blList" :key="i">
16
+ <el-radio :label="item.shipmentId">
17
+ <span>{{ item.billOfLadingNo }}</span>
18
+ <span v-if="item.citeNumber">(</span>
19
+ <span v-if="item.citeNumber" style="color: red">已被引用过{{ item.citeNumber }}次</span>
20
+ <span v-if="item.citeNumber">)</span>
21
+ </el-radio>
22
+ </div>
23
+ </el-radio-group>
24
+ </el-row>
25
+ </el-form-item>
26
+
27
+ <el-form-item v-if="contractId" class="vertical-form-item" :required="true" label="请选择您需要复制的数据或文件:">
28
+ <el-row> 可复用的文件如下: </el-row>
29
+ <el-row>
30
+ <el-checkbox v-model="isSelectAll" @change="selectAll" label="0">选择全部</el-checkbox>
31
+ </el-row>
32
+ <el-row>
33
+ <el-checkbox-group @change="selectChange" v-model="form.copyFileTypeList">
34
+ <el-checkbox v-for="(item, i) in fileList" :key="i" :label="item.key">{{ item.value }}</el-checkbox>
35
+ </el-checkbox-group>
36
+ </el-row>
37
+ </el-form-item>
38
+ </el-form>
39
+ <div slot="footer" class="dialog-footer">
40
+ <el-button @click="cancel">取 消</el-button>
41
+ <el-button type="primary" @click="submitForm">确 定</el-button>
42
+ </div>
43
+ </el-dialog>
44
+ </div>
45
+ </template>
46
+
47
+ <script>
48
+ import { listBizShipment, getBizShipment } from '../../../api/biz/bizShipment'
49
+
50
+ export default {
51
+ name: 'ReferenceAlert',
52
+ props: {},
53
+ components: {},
54
+ data() {
55
+ return {
56
+ // 弹出层标题
57
+ title: '请确认:',
58
+ // 是否显示弹出层
59
+ open: false,
60
+ // 表单参数
61
+ form: {
62
+ citeShipmentId: null,
63
+ copyFileTypeList: [] // 可复用的文件
64
+ },
65
+ // 选择的合同
66
+ contractId: null,
67
+ // 可引用的数据(销售合同列表)
68
+ shipmentList: null,
69
+ // 合同对应的提单列表
70
+ blList: null,
71
+ isSelectAll: false,
72
+ fileList: [
73
+ { key: 'booking_data', value: '订舱资料' },
74
+ { key: 'packingPhoto', value: '装箱照片' },
75
+ { key: 'draft_bill_of_lading', value: '草稿提单' },
76
+ { key: 'shipment_delivery_receipt', value: '正式提单' }
77
+ ]
78
+ }
79
+ },
80
+ computed: {},
81
+ watch: {},
82
+ methods: {
83
+ selectAll(val) {
84
+ if (val) {
85
+ this.form.copyFileTypeList = this.fileList.map((res) => res.key)
86
+ } else {
87
+ this.form.copyFileTypeList = []
88
+ }
89
+ },
90
+ selectChange(val) {
91
+ this.isSelectAll = this.form.copyFileTypeList.length == 4
92
+ },
93
+ selectContract(val) {
94
+ this.blList = null
95
+ // 获取提单
96
+ listBizShipment({ 'saleContractId': val, 'voidStatus': 1 }).then((res) => {
97
+ this.blList = res.rows
98
+ })
99
+ },
100
+
101
+ /** 提交按钮 */
102
+ submitForm() {
103
+ // 数据校验
104
+ if (!this.contractId) {
105
+ return this.$modal.msgError('请选择合同号')
106
+ }
107
+ if (!this.form.citeShipmentId) {
108
+ return this.$modal.msgError('请选择提单号')
109
+ }
110
+ if (this.form.copyFileTypeList.length == 0) {
111
+ return this.$modal.msgError('请选择您需要复制的数据或文件')
112
+ }
113
+ console.log('form', this.form)
114
+ // 获取详情数据
115
+ const loading = this.openLoading()
116
+ getBizShipment(this.form.citeShipmentId).then((res) => {
117
+ loading.close()
118
+ if (res.code == 200) {
119
+ // 回传数据
120
+ let shipment = res.data
121
+ this.$emit('referenced', { shipment: shipment, copyFileTypeList: this.form.copyFileTypeList })
122
+ this.open = false
123
+ }
124
+ })
125
+ },
126
+ /** 展示按钮操作 */
127
+ handleOpen(shipmentList) {
128
+ this.reset()
129
+ this.shipmentList = shipmentList
130
+ this.open = true
131
+ console.log('shipmentList', shipmentList)
132
+ },
133
+ // 取消按钮
134
+ cancel() {
135
+ this.open = false
136
+ this.reset()
137
+ },
138
+ // 表单重置
139
+ reset() {
140
+ this.shipmentList = null
141
+ this.form = {
142
+ citeShipmentId: null,
143
+ copyFileTypeList: this.fileList.map((res) => res.key) // 可复用的文件
144
+ }
145
+ this.contractId = null
146
+ this.isSelectAll = true
147
+ this.blList = null
148
+ }
149
+ },
150
+ computed: {}
151
+ }
152
+ </script>
153
+ <style lang="scss" scoped>
154
+ // 修改为上下布局
155
+ .vertical-form-item {
156
+ display: block;
157
+ }
158
+ ::v-deep .vertical-form-item .el-form-item__label {
159
+ text-align: left;
160
+ display: block;
161
+ margin-bottom: 5px !important; /* 根据需要调整间距 */
162
+ }
163
+
164
+ ::v-deep .vertical-form-item .el-form-item__content {
165
+ display: block;
166
+ margin-left: 5px !important; /* 重置默认的margin-left,因为标签和输入控件不再水平排列 */
167
+ }
168
+ </style>
@@ -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>
@@ -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 />