doctor-admin-components 1.0.13-beta.8 → 1.0.13-beta.80
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 +18 -7
- package/package.json +1 -1
- package/packages/index.js +7 -0
- package/packages/src/api/biz/bizContract.js +996 -1
- package/packages/src/api/biz/bizContractCompany.js +1 -1
- package/packages/src/api/biz/bizFileInfo.js +16 -0
- package/packages/src/api/biz/bizInvoice.js +1 -1
- package/packages/src/api/biz/bizShipment.js +18 -0
- package/packages/src/assets/images/click-show-table.png +0 -0
- package/packages/src/assets/images/more.png +0 -0
- package/packages/src/assets/images/pdf-new.png +0 -0
- package/packages/src/components/DictTag/index.vue +12 -2
- package/packages/src/components/FileUpload/contract-drag-new.vue +99 -10
- package/packages/src/i18n/en/message.json +298 -0
- package/packages/src/i18n/index.js +38 -0
- package/packages/src/i18n/zh-CN/message.json +298 -0
- package/packages/src/index.js +6 -0
- package/packages/src/utils/index.js +35 -0
- package/packages/src/utils/request.js +120 -146
- 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
- package/packages/src/views/biz/bizFileInfo/contract copy.vue +1711 -0
- package/packages/src/views/biz/bizFileInfo/contract.vue +1677 -999
- package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +114 -0
- package/packages/src/views/biz/bizFileInfo/contractFile/ContentTitle.vue +102 -0
- package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +308 -0
- package/packages/src/views/biz/bizFileInfo/contractFile/Progress.vue +85 -0
- package/packages/src/views/biz/bizFileInfo/contractFile/ProgressDetail.vue +122 -0
- package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +83 -0
- package/packages/src/views/biz/bizFileInfo/contractFile/ShowAndHide.vue +178 -0
- package/packages/src/views/biz/bizFileInfo/fileShow copy.vue +321 -0
- package/packages/src/views/biz/bizFileInfo/fileShow.vue +131 -46
- package/packages/src/views/biz/bizFileInfo/fileShowClaim.vue +1 -1
- package/packages/src/views/biz/bizShipment/add.vue +218 -75
- package/packages/src/views/biz/bizShipment/referenceAlert.vue +168 -0
- package/packages/src/views/biz/contractTracing/addSubCompany.vue +106 -169
- package/packages/src/views/biz/contractTracing/billInfo.vue +181 -329
- package/packages/src/views/biz/contractTracing/companyBanks.vue +228 -0
- package/packages/src/views/biz/contractTracing/contractInfo.vue +1 -1
- package/packages/src/views/biz/contractTracing/contractPdf.vue +5 -3
- package/packages/src/views/biz/contractTracing/contractSummary.vue +17 -9
- package/packages/src/views/biz/contractTracing/contractTracingDetail copy.vue +107 -0
- package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +229 -9
- package/packages/src/views/biz/contractTracing/editBill.vue +231 -361
- package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +153 -7
- package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +8 -2
- package/packages/src/views/biz/contractTracing/subCompanyDialog.vue +202 -176
- package/packages/src/views/test.vue +3 -3
- package/packages/src/views/biz/contractTracing/association.vue +0 -189
- package/packages/src/views/biz/contractTracing/chargingDialog.vue +0 -84
- package/packages/src/views/biz/contractTracing/contract.vue +0 -1276
- package/packages/src/views/biz/contractTracing/disputeRecord.vue +0 -311
- package/packages/src/views/biz/contractTracing/edit.vue +0 -205
- package/packages/src/views/biz/contractTracing/sendDrafEmail.vue +0 -120
- package/packages/src/views/biz/contractTracing/shipment.vue +0 -601
|
@@ -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,9 +117,11 @@
|
|
|
117
117
|
<div v-else>{{ contract.otherPaymentTerm }}</div>
|
|
118
118
|
</el-descriptions-item>
|
|
119
119
|
<el-descriptions-item label="Price Fixing Option">
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
120
|
+
<div v-if="contract.livericeSwitch">
|
|
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>
|
|
@@ -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:
|
|
5
|
+
* @LastEditTime: 2024-05-24 10:26:37
|
|
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
|
-->
|
|
@@ -172,14 +172,14 @@
|
|
|
172
172
|
<template slot-scope="scope">
|
|
173
173
|
<span v-if="dealRecord.quoteType == 'FIXED'">{{ '$' + scope.row.sllerPrice }}</span>
|
|
174
174
|
<span v-else-if="dealRecord.quoteType == 'CMX'">{{ 'CMX - ' + scope.row.sllerPrice }}</span>
|
|
175
|
-
<span v-else>{{ scope.row.sllerPrice + '%LME' }}</span>
|
|
175
|
+
<span v-else>{{ scope.row.sellerPriceFormula || scope.row.sllerPrice + '%LME' }}</span>
|
|
176
176
|
</template>
|
|
177
177
|
</el-table-column>
|
|
178
178
|
<el-table-column prop="quotePrice" :label="$t('contractDetail.quotePrice')" :width="channel === 'official-website' ? 180 : 120">
|
|
179
179
|
<template slot-scope="scope">
|
|
180
180
|
<span v-if="dealRecord.quoteType == 'FIXED'">{{ '$' + scope.row.quotePrice }}</span>
|
|
181
181
|
<span v-else-if="dealRecord.quoteType == 'CMX'">{{ 'CMX - ' + scope.row.quotePrice }}</span>
|
|
182
|
-
<span v-else>{{ scope.row.quotePrice + '%LME' }}</span>
|
|
182
|
+
<span v-else>{{ scope.row.quotePriceFormula || scope.row.quotePrice + '%LME' }}</span>
|
|
183
183
|
</template>
|
|
184
184
|
</el-table-column>
|
|
185
185
|
<el-table-column prop="totalQuote" :label="$t('contractDetail.totalQuote')" :width="channel === 'official-website' ? 180 : 120"></el-table-column>
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
<el-table-column v-if="channel !== 'official-website'" label="总金额" align="center" prop="amount" width="100" />
|
|
222
222
|
|
|
223
223
|
<!-- 官网 -->
|
|
224
|
-
<el-table-column v-if="channel == 'official-website'" :label="$t('contract.Payable_Amount')" align="center" prop="amount" width="
|
|
224
|
+
<el-table-column v-if="channel == 'official-website'" :label="$t('contract.Payable_Amount')" align="center" prop="amount" width="140" />
|
|
225
225
|
<el-table-column v-if="channel == 'official-website'" :label="$t('contract.Amount_Paid')" align="center" prop="amount" width="100">
|
|
226
226
|
<template slot-scope="{ row }">{{ row.amount - row.remainingAmount }}</template>
|
|
227
227
|
</el-table-column>
|
|
@@ -338,9 +338,10 @@
|
|
|
338
338
|
>
|
|
339
339
|
<!-- v-if="channel == 'official-website' && scope.row.showFallbackQuality" -->
|
|
340
340
|
<el-button
|
|
341
|
-
v-if="
|
|
341
|
+
v-if="
|
|
342
|
+
channel == 'official-website'"
|
|
342
343
|
size="mini"
|
|
343
|
-
type="primary"
|
|
344
|
+
:type="scope.row.showFallbackQuality ? 'primary': 'info'"
|
|
344
345
|
style="padding-left: 5px; padding-right: 5px"
|
|
345
346
|
@click.stop="qualityFeedback(scope.row)"
|
|
346
347
|
>{{ $t('contract.Quality_Feedback') }}</el-button
|
|
@@ -546,7 +547,11 @@ export default {
|
|
|
546
547
|
* @return {*}
|
|
547
548
|
*/
|
|
548
549
|
qualityFeedback(row) {
|
|
549
|
-
this.$buryingPoint({ data: { funcKey: 'click_feedback' } })
|
|
550
|
+
this.$buryingPoint({ data: { funcKey: 'click_feedback' } });
|
|
551
|
+
if(!row.showFallbackQuality) {
|
|
552
|
+
this.$message.warning(this.$t('contract.No_quality_feedback'));
|
|
553
|
+
return;
|
|
554
|
+
}
|
|
550
555
|
|
|
551
556
|
this.$store.commit('setBillNoInfo', {
|
|
552
557
|
eta: row.eta,
|
|
@@ -820,11 +825,14 @@ ${invoiceNoTitleZh}:${invoiceNo}
|
|
|
820
825
|
}
|
|
821
826
|
})
|
|
822
827
|
listBizInvoice({
|
|
823
|
-
contractId: this.contractId
|
|
828
|
+
contractId: this.contractId,
|
|
829
|
+
voidFlagSearch: this.channel == 'official-website' ? [0] : []
|
|
824
830
|
}).then((response) => {
|
|
825
831
|
this.invoiceList = response.rows
|
|
826
832
|
})
|
|
827
|
-
var queryParams = {
|
|
833
|
+
var queryParams = {
|
|
834
|
+
voidStatus: this.channel == 'official-website' ? 0 : null
|
|
835
|
+
}
|
|
828
836
|
if (this.contract.contractType == 'sale') {
|
|
829
837
|
queryParams.saleContractId = this.contractId
|
|
830
838
|
} else {
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
* @Author: zhangpengwei 15038779532@163.com
|
|
3
|
+
* @Date: 2023-07-20 17:13:54
|
|
4
|
+
* @LastEditors: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
|
|
5
|
+
* @LastEditTime: 2024-01-19 13:54:56
|
|
6
|
+
* @FilePath: /recycle-vue-ui再生博士后台管理/src/views/biz/contractTracing/contractTracingDetail.vue
|
|
7
|
+
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
8
|
+
-->
|
|
9
|
+
<template>
|
|
10
|
+
<div class="app-container">
|
|
11
|
+
<div style="position: relative">
|
|
12
|
+
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
|
|
13
|
+
<el-tab-pane :label="$t('contractDetail.summary')" name="first">
|
|
14
|
+
<contract-summary v-if="activeName == 'first'" :channel="channel"></contract-summary>
|
|
15
|
+
</el-tab-pane>
|
|
16
|
+
<el-tab-pane :label="$t('contractDetail.info')" name="second">
|
|
17
|
+
<contract-info v-if="activeName == 'second'" :channel="channel"></contract-info>
|
|
18
|
+
</el-tab-pane>
|
|
19
|
+
<el-tab-pane
|
|
20
|
+
v-if="contract.contractType == 'sale'"
|
|
21
|
+
:label="$t('contractDetail.blInfo')"
|
|
22
|
+
name="third"
|
|
23
|
+
>
|
|
24
|
+
<bill-info :contract="contract" v-if="activeName == 'third'"
|
|
25
|
+
:channel="channel"
|
|
26
|
+
></bill-info>
|
|
27
|
+
</el-tab-pane>
|
|
28
|
+
<el-tab-pane :label="$t('contractDetail.fileManage')" name="fourth">
|
|
29
|
+
<contract-file
|
|
30
|
+
v-if="activeName == 'fourth'"
|
|
31
|
+
:contract="contract"
|
|
32
|
+
:channel="channel"
|
|
33
|
+
:buyerFlag="buyerFlag"
|
|
34
|
+
></contract-file>
|
|
35
|
+
</el-tab-pane>
|
|
36
|
+
</el-tabs>
|
|
37
|
+
|
|
38
|
+
<!-- 这里添加合同编号的显示 -->
|
|
39
|
+
<div
|
|
40
|
+
style="
|
|
41
|
+
position: absolute;
|
|
42
|
+
right: 10px;
|
|
43
|
+
top: 5px;
|
|
44
|
+
margin-top: 10px;
|
|
45
|
+
font-weight: bold;
|
|
46
|
+
"
|
|
47
|
+
>{{$t('contractDetail.Contract_No')}}:{{ contract.contractNo }}</div>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
</template>
|
|
51
|
+
|
|
52
|
+
<script>
|
|
53
|
+
import { getBizContract } from '../../../api/biz/bizContract';
|
|
54
|
+
import ContractSummary from './contractSummary.vue';
|
|
55
|
+
import BillInfo from './billInfo.vue';
|
|
56
|
+
import ContractFile from '../bizFileInfo/contract.vue';
|
|
57
|
+
import ContractInfo from './contractInfo.vue';
|
|
58
|
+
|
|
59
|
+
export default {
|
|
60
|
+
name: 'ContractTracingDetail',
|
|
61
|
+
mixins: [],
|
|
62
|
+
components: {
|
|
63
|
+
ContractSummary,
|
|
64
|
+
BillInfo,
|
|
65
|
+
ContractFile,
|
|
66
|
+
ContractInfo,
|
|
67
|
+
},
|
|
68
|
+
props: {
|
|
69
|
+
channel: '',
|
|
70
|
+
},
|
|
71
|
+
data() {
|
|
72
|
+
return {
|
|
73
|
+
activeName: 'first',
|
|
74
|
+
contract: {},
|
|
75
|
+
buyerFlag: true,
|
|
76
|
+
};
|
|
77
|
+
},
|
|
78
|
+
computed: {},
|
|
79
|
+
watch: {},
|
|
80
|
+
created() {
|
|
81
|
+
const contractId = this.$route.params && this.$route.params.contractId;
|
|
82
|
+
this.getContract(contractId);
|
|
83
|
+
const activeName = this.$route.query && this.$route.query.activeName;
|
|
84
|
+
this.activeName = activeName || 'first';
|
|
85
|
+
localStorage.setItem('contractDetail', location.href);
|
|
86
|
+
location.href;
|
|
87
|
+
},
|
|
88
|
+
mounted() {},
|
|
89
|
+
methods: {
|
|
90
|
+
getContract(contractId) {
|
|
91
|
+
getBizContract(contractId).then((res) => {
|
|
92
|
+
this.contract = res.data;
|
|
93
|
+
// Debit note是给卖家的,要放在 ARS 下
|
|
94
|
+
// Credit note是给买家的,要放在 ARP 下
|
|
95
|
+
this.buyerFlag = this.contract?.contractNo
|
|
96
|
+
?.toLowerCase()
|
|
97
|
+
?.includes('arp');
|
|
98
|
+
});
|
|
99
|
+
},
|
|
100
|
+
handleClick(tab, event) {
|
|
101
|
+
console.log(tab, event);
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
</script>
|
|
106
|
+
|
|
107
|
+
<style scoped lang="scss"></style>
|