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.
Files changed (54) hide show
  1. package/README.md +18 -7
  2. package/package.json +1 -1
  3. package/packages/index.js +7 -0
  4. package/packages/src/api/biz/bizContract.js +996 -1
  5. package/packages/src/api/biz/bizContractCompany.js +1 -1
  6. package/packages/src/api/biz/bizFileInfo.js +16 -0
  7. package/packages/src/api/biz/bizInvoice.js +1 -1
  8. package/packages/src/api/biz/bizShipment.js +18 -0
  9. package/packages/src/assets/images/click-show-table.png +0 -0
  10. package/packages/src/assets/images/more.png +0 -0
  11. package/packages/src/assets/images/pdf-new.png +0 -0
  12. package/packages/src/components/DictTag/index.vue +12 -2
  13. package/packages/src/components/FileUpload/contract-drag-new.vue +99 -10
  14. package/packages/src/i18n/en/message.json +298 -0
  15. package/packages/src/i18n/index.js +38 -0
  16. package/packages/src/i18n/zh-CN/message.json +298 -0
  17. package/packages/src/index.js +6 -0
  18. package/packages/src/utils/index.js +35 -0
  19. package/packages/src/utils/request.js +120 -146
  20. 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
  21. package/packages/src/views/biz/bizFileInfo/contract copy.vue +1711 -0
  22. package/packages/src/views/biz/bizFileInfo/contract.vue +1677 -999
  23. package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +114 -0
  24. package/packages/src/views/biz/bizFileInfo/contractFile/ContentTitle.vue +102 -0
  25. package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +308 -0
  26. package/packages/src/views/biz/bizFileInfo/contractFile/Progress.vue +85 -0
  27. package/packages/src/views/biz/bizFileInfo/contractFile/ProgressDetail.vue +122 -0
  28. package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +83 -0
  29. package/packages/src/views/biz/bizFileInfo/contractFile/ShowAndHide.vue +178 -0
  30. package/packages/src/views/biz/bizFileInfo/fileShow copy.vue +321 -0
  31. package/packages/src/views/biz/bizFileInfo/fileShow.vue +131 -46
  32. package/packages/src/views/biz/bizFileInfo/fileShowClaim.vue +1 -1
  33. package/packages/src/views/biz/bizShipment/add.vue +218 -75
  34. package/packages/src/views/biz/bizShipment/referenceAlert.vue +168 -0
  35. package/packages/src/views/biz/contractTracing/addSubCompany.vue +106 -169
  36. package/packages/src/views/biz/contractTracing/billInfo.vue +181 -329
  37. package/packages/src/views/biz/contractTracing/companyBanks.vue +228 -0
  38. package/packages/src/views/biz/contractTracing/contractInfo.vue +1 -1
  39. package/packages/src/views/biz/contractTracing/contractPdf.vue +5 -3
  40. package/packages/src/views/biz/contractTracing/contractSummary.vue +17 -9
  41. package/packages/src/views/biz/contractTracing/contractTracingDetail copy.vue +107 -0
  42. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +229 -9
  43. package/packages/src/views/biz/contractTracing/editBill.vue +231 -361
  44. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +153 -7
  45. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +8 -2
  46. package/packages/src/views/biz/contractTracing/subCompanyDialog.vue +202 -176
  47. package/packages/src/views/test.vue +3 -3
  48. package/packages/src/views/biz/contractTracing/association.vue +0 -189
  49. package/packages/src/views/biz/contractTracing/chargingDialog.vue +0 -84
  50. package/packages/src/views/biz/contractTracing/contract.vue +0 -1276
  51. package/packages/src/views/biz/contractTracing/disputeRecord.vue +0 -311
  52. package/packages/src/views/biz/contractTracing/edit.vue +0 -205
  53. package/packages/src/views/biz/contractTracing/sendDrafEmail.vue +0 -120
  54. package/packages/src/views/biz/contractTracing/shipment.vue +0 -601
@@ -1,19 +1,25 @@
1
1
  <template>
2
2
  <div class="app-container">
3
- <el-dialog
4
- :title="$t('contractDetail.editBLInformation')"
5
- :visible.sync="open"
6
- width="1000px"
7
- append-to-body
8
- >
3
+ <el-dialog :title="$t('contractDetail.editBLInformation')" :visible.sync="open" width="1000px" append-to-body>
9
4
  <div class="contract">
10
5
  <div class="info" id="printPdf">
11
- <div class="title">{{ $t("contract.billTip") }}</div>
12
- <el-form :model="form" ref="form" size="mini" :rules="rules" label-width="130px">
13
- <el-collapse>
14
- <el-collapse-item v-if="channel !== 'official-website'">
6
+ <!-- <div class="title">{{ $t("contract.billTip") }}</div> -->
7
+ <el-row>
8
+ <el-col :span="12" v-if="voidFlag" style="padding-bottom: 20px">
9
+ <span style="font-size: 16px;color: red; font-weight: bold"> 已作废 </span>
10
+ </el-col>
11
+ <el-col :span="12" v-else>
12
+ <div style="padding-bottom: 20px">
13
+ <span style="font-size: 16px; font-weight: bold"> {{ $t('contractDetail.BLConfirm') + ':' }} </span>
14
+ <el-switch v-model="confirmFlag" :inactive-text="$t('contractDetail.BL_Not_Confirm')" :active-text="$t('contractDetail.BL_Confirmed')"> </el-switch>
15
+ </div>
16
+ </el-col>
17
+ </el-row>
18
+ <el-form :disabled="voidFlag" :model="form" ref="form" size="mini" :rules="rules" label-width="130px">
19
+ <el-collapse v-model="expandItems">
20
+ <el-collapse-item name="0" v-if="channel !== 'official-website'">
15
21
  <template slot="title">
16
- <el-row style="width: 75%; ">
22
+ <el-row style="width: 75%">
17
23
  <el-form-item class="mt20" :label="$t('contract.shipper') + ':'">
18
24
  <el-input v-model="form.shipperCompanyName"></el-input>
19
25
  </el-form-item>
@@ -38,69 +44,42 @@
38
44
  <el-switch v-model="form.shipperFlag" active-text="是" inactive-text="否"></el-switch>
39
45
  </el-form-item>
40
46
  </el-collapse-item>
41
- <el-collapse-item>
47
+ <el-collapse-item name="1">
42
48
  <template slot="title">
43
- <el-row style="width: 75%; ">
44
- <el-form-item
45
- class="mt20"
46
- :label="$t('contract.consignee') + ':'"
47
- prop="deliveryCompanyId"
48
- >
49
+ <el-row style="width: 75%">
50
+ <el-form-item class="mt20" :label="$t('contract.consignee') + ':'" prop="deliveryCompanyId">
49
51
  <el-select
50
- style="width: 80%;"
52
+ style="width: 80%"
51
53
  clearable
52
54
  size="mini"
53
55
  v-model="form.deliveryCompanyId"
54
56
  @change="(val) => changeSubCompany(val, 'delivery')"
55
57
  :placeholder="$t('contract.consigneeTip')"
56
58
  >
57
- <el-option
58
- v-for="(item, index) in deliveryCompanyList"
59
- :key="index"
60
- :label="item.companyEnglishName"
61
- :value="item.contractCompanyId"
62
- />
59
+ <el-option v-for="(item, index) in deliveryCompanyList" :key="index" :label="item.companyEnglishName" :value="item.contractCompanyId" />
63
60
  </el-select>
64
- <el-button
65
- style="margin-left: 20px;"
66
- type="primary"
67
- size="mini"
68
- @click.stop="handleSubCompany(form.buyerCompanyId, 'delivery')"
69
- >{{ $t('button.addOrModify') }}</el-button>
61
+ <el-button style="margin-left: 20px" type="primary" size="mini" @click.stop="handleSubCompany(form.buyerCompanyId, 'delivery')">{{
62
+ $t('button.addOrModify')
63
+ }}</el-button>
70
64
  </el-form-item>
71
65
  </el-row>
72
66
  </template>
73
67
  <el-form-item :label="$t('contract.taxId') + ':'">
74
- {{
75
- this.form.deliveryCompany
76
- ? this.form.deliveryCompany.taxNumber
77
- : $t('contract.companyTip')
78
- }}
68
+ {{ this.form.deliveryCompany ? this.form.deliveryCompany.taxNumber : $t('contract.companyTip') }}
79
69
  </el-form-item>
80
70
  <el-form-item :label="$t('contract.consigneeAddress') + ':'">
81
- {{
82
- this.form.deliveryCompany
83
- ? this.form.deliveryCompany.address
84
- : $t('contract.companyTip')
85
- }}
71
+ {{ this.form.deliveryCompany ? this.form.deliveryCompany.address : $t('contract.companyTip') }}
86
72
  </el-form-item>
87
73
  <el-form-item :label="$t('contract.contact') + ':'">
88
- {{
89
- this.form.deliveryCompany
90
- ? this.form.deliveryCompany.contact
91
- : $t('contract.companyTip')
92
- }}
74
+ {{ this.form.deliveryCompany ? this.form.deliveryCompany.contact : $t('contract.companyTip') }}
93
75
  </el-form-item>
94
76
  <el-form-item :label="$t('contract.phoneNumber') + ':'">
95
77
  {{
96
- this.form.deliveryCompany &&
97
- this.form.deliveryCompany.phoneNumber &&
98
- this.form.deliveryCompany.phoneNumber.length > 0
99
- ? this.form.deliveryCompany.phoneNumber.toString()
100
- : this.form.deliveryCompany &&
101
- this.form.deliveryCompany.phoneNumber
102
- ? ''
103
- : $t('contract.companyTip')
78
+ this.form.deliveryCompany && this.form.deliveryCompany.phoneNumber && this.form.deliveryCompany.phoneNumber.length > 0
79
+ ? this.form.deliveryCompany.phoneNumber.toString()
80
+ : this.form.deliveryCompany && this.form.deliveryCompany.phoneNumber
81
+ ? ''
82
+ : $t('contract.companyTip')
104
83
  }}
105
84
  </el-form-item>
106
85
  <el-form-item :label="$t('contract.email') + ':'">
@@ -108,36 +87,22 @@
108
87
  <el-col :span="20">
109
88
  <div style="white-space: pre-line !important">
110
89
  {{
111
- this.form.deliveryCompany &&
112
- this.form.deliveryCompany.email &&
113
- this.form.deliveryCompany.email.length > 0
114
- ? this.form.deliveryCompany.email
115
- .toString()
116
- .replace(/,/g, '\n ')
117
- : $t('contract.companyTip')
90
+ this.form.deliveryCompany && this.form.deliveryCompany.email && this.form.deliveryCompany.email.length > 0
91
+ ? this.form.deliveryCompany.email.toString().replace(/,/g, '\n ')
92
+ : $t('contract.companyTip')
118
93
  }}
119
94
  </div>
120
95
  </el-col>
121
96
  </el-row>
122
97
  </el-form-item>
123
- <el-form-item
124
- label="PAN NO"
125
- >{{ this.form.deliveryCompany ? this.form.deliveryCompany.panNo: $t('contract.companyTip')}}</el-form-item>
126
- <el-form-item
127
- label="IEC CODE"
128
- >{{ this.form.deliveryCompany ? this.form.deliveryCompany.iecCode: $t('contract.companyTip')}}</el-form-item>
129
- <el-form-item
130
- label="GST NUMBER"
131
- >{{ this.form.deliveryCompany ? this.form.deliveryCompany.gstNumber: $t('contract.companyTip')}}</el-form-item>
98
+ <el-form-item label="PAN NO">{{ this.form.deliveryCompany ? this.form.deliveryCompany.panNo : $t('contract.companyTip') }}</el-form-item>
99
+ <el-form-item label="IEC CODE">{{ this.form.deliveryCompany ? this.form.deliveryCompany.iecCode : $t('contract.companyTip') }}</el-form-item>
100
+ <el-form-item label="GST NUMBER">{{ this.form.deliveryCompany ? this.form.deliveryCompany.gstNumber : $t('contract.companyTip') }}</el-form-item>
132
101
  </el-collapse-item>
133
- <el-collapse-item>
102
+ <el-collapse-item name="2">
134
103
  <template slot="title">
135
- <el-row style="width: 75%; ">
136
- <el-form-item
137
- class="mt20"
138
- :label="$t('contract.firstNotifier') + ':'"
139
- prop="notifierCompanyId"
140
- >
104
+ <el-row style="width: 75%">
105
+ <el-form-item class="mt20" :label="$t('contract.firstNotifier') + ':'" prop="notifierCompanyId">
141
106
  <el-select
142
107
  size="mini"
143
108
  style="width: 80%"
@@ -146,53 +111,30 @@
146
111
  placeholder="Please select"
147
112
  clearable
148
113
  >
149
- <el-option
150
- v-for="(item, index) in notifierCompanyList"
151
- :key="index"
152
- :label="item.companyEnglishName"
153
- :value="item.contractCompanyId"
154
- />
114
+ <el-option v-for="(item, index) in notifierCompanyList" :key="index" :label="item.companyEnglishName" :value="item.contractCompanyId" />
155
115
  </el-select>
156
- <el-button
157
- style="margin-left: 20px;"
158
- type="primary"
159
- size="mini"
160
- @click.stop="handleSubCompany(form.buyerCompanyId, 'notifier')"
161
- >{{ $t('button.addOrModify') }}</el-button>
116
+ <el-button style="margin-left: 20px" type="primary" size="mini" @click.stop="handleSubCompany(form.buyerCompanyId, 'notifier')">{{
117
+ $t('button.addOrModify')
118
+ }}</el-button>
162
119
  </el-form-item>
163
120
  </el-row>
164
121
  </template>
165
122
  <el-form-item :label="$t('contract.taxId') + ':'">
166
- {{
167
- this.form.notifierCompany
168
- ? this.form.notifierCompany.taxNumber
169
- : $t('contract.companyTip')
170
- }}
123
+ {{ this.form.notifierCompany ? this.form.notifierCompany.taxNumber : $t('contract.companyTip') }}
171
124
  </el-form-item>
172
125
  <el-form-item :label="$t('contract.notifierAddress') + ':'">
173
- {{
174
- this.form.notifierCompany
175
- ? this.form.notifierCompany.address
176
- : $t('contract.companyTip')
177
- }}
126
+ {{ this.form.notifierCompany ? this.form.notifierCompany.address : $t('contract.companyTip') }}
178
127
  </el-form-item>
179
128
  <el-form-item :label="$t('contract.contact') + ':'">
180
- {{
181
- this.form.notifierCompany
182
- ? this.form.notifierCompany.contact
183
- : $t('contract.companyTip')
184
- }}
129
+ {{ this.form.notifierCompany ? this.form.notifierCompany.contact : $t('contract.companyTip') }}
185
130
  </el-form-item>
186
131
  <el-form-item :label="$t('contract.phoneNumber') + ':'">
187
132
  {{
188
- this.form.notifierCompany &&
189
- this.form.notifierCompany.phoneNumber &&
190
- this.form.notifierCompany.phoneNumber.length > 0
191
- ? this.form.notifierCompany.phoneNumber.toString()
192
- : this.form.notifierCompany &&
193
- this.form.notifierCompany.phoneNumber
194
- ? ''
195
- : $t('contract.companyTip')
133
+ this.form.notifierCompany && this.form.notifierCompany.phoneNumber && this.form.notifierCompany.phoneNumber.length > 0
134
+ ? this.form.notifierCompany.phoneNumber.toString()
135
+ : this.form.notifierCompany && this.form.notifierCompany.phoneNumber
136
+ ? ''
137
+ : $t('contract.companyTip')
196
138
  }}
197
139
  </el-form-item>
198
140
  <el-form-item :label="$t('contract.email') + ':'">
@@ -200,159 +142,92 @@
200
142
  <el-col :span="20">
201
143
  <div style="white-space: pre-line !important">
202
144
  {{
203
- this.form.notifierCompany &&
204
- this.form.notifierCompany.email &&
205
- this.form.notifierCompany.email.length > 0
206
- ? this.form.notifierCompany.email
207
- .toString()
208
- .replace(/,/g, '\n')
209
- : $t('contract.companyTip')
145
+ this.form.notifierCompany && this.form.notifierCompany.email && this.form.notifierCompany.email.length > 0
146
+ ? this.form.notifierCompany.email.toString().replace(/,/g, '\n')
147
+ : $t('contract.companyTip')
210
148
  }}
211
149
  </div>
212
150
  </el-col>
213
151
  </el-row>
214
152
  </el-form-item>
215
- <el-form-item
216
- label="PAN NO"
217
- >{{ this.form.notifierCompany ? this.form.notifierCompany.panNo: $t('contract.companyTip')}}</el-form-item>
218
- <el-form-item
219
- label="IEC CODE"
220
- >{{ this.form.notifierCompany ? this.form.notifierCompany.iecCode: $t('contract.companyTip')}}</el-form-item>
221
- <el-form-item
222
- label="GST NUMBER"
223
- >{{ this.form.notifierCompany ? this.form.notifierCompany.gstNumber: $t('contract.companyTip')}}</el-form-item>
153
+ <el-form-item label="PAN NO">{{ this.form.notifierCompany ? this.form.notifierCompany.panNo : $t('contract.companyTip') }}</el-form-item>
154
+ <el-form-item label="IEC CODE">{{ this.form.notifierCompany ? this.form.notifierCompany.iecCode : $t('contract.companyTip') }}</el-form-item>
155
+ <el-form-item label="GST NUMBER">{{ this.form.notifierCompany ? this.form.notifierCompany.gstNumber : $t('contract.companyTip') }}</el-form-item>
224
156
  </el-collapse-item>
225
- <el-collapse-item>
157
+ <el-collapse-item name="3">
226
158
  <template slot="title">
227
- <el-row style="width: 75%; ">
228
- <el-form-item
229
- class="mt20"
230
- :label="$t('contract.secondNotifier') + ':'"
231
- >{{ "TTYY INTERNATIONAL LIMITED" }}</el-form-item>
159
+ <el-row style="width: 75%">
160
+ <el-form-item class="mt20" :label="$t('contract.secondNotifier') + ':'">{{ 'TTYY INTERNATIONAL LIMITED' }}</el-form-item>
232
161
  </el-row>
233
162
  </template>
234
163
  <el-form-item :label="$t('contract.taxId') + ':'">
235
- {{
236
- "73855725-000-23-0"
237
- }}
164
+ {{ '73855725-000-23-0' }}
238
165
  </el-form-item>
239
166
  <el-form-item :label="$t('contract.notifierAddress') + ':'">
240
- {{
241
- "FLAT/RM 07, 12/F, CHEVALIER COMMERCIAL CENTRE, 8 WANG HOI ROAD, KOWLOON BAY"
242
- }}
167
+ {{ 'FLAT/RM 07, 12/F, CHEVALIER COMMERCIAL CENTRE, 8 WANG HOI ROAD, KOWLOON BAY' }}
243
168
  </el-form-item>
244
169
  <el-form-item :label="$t('contract.contact') + ':'">
245
- {{
246
- "Ms. Zhou"
247
- }}
170
+ {{ 'Ms. Zhou' }}
248
171
  </el-form-item>
249
172
  <el-form-item :label="$t('contract.phoneNumber') + ':'">
250
- {{
251
- "0085221267435"
252
- }}
173
+ {{ '00-852 53816912' }}
253
174
  </el-form-item>
254
- <el-form-item :label="$t('contract.email') + ':'">{{ "info@tyzltech.com" }}</el-form-item>
175
+ <el-form-item :label="$t('contract.email') + ':'">{{ 'info@tyzltech.com' }}</el-form-item>
255
176
  </el-collapse-item>
256
177
  </el-collapse>
257
178
 
258
179
  <el-form-item :label="$t('contract.destination') + ':'">
259
- {{
260
- this.contract && this.contract.destination
261
- ? this.contract.destination
262
- : ""
263
- }}
180
+ {{ this.contract && this.contract.destination ? this.contract.destination : '' }}
264
181
  </el-form-item>
265
182
  <el-form-item :label="$t('contract.terminal') + ':'" prop="terminal">
266
- <el-input
267
- v-model="form.terminal"
268
- type="textarea"
269
- autosize
270
- :placeholder="$t('contract.terminalTip')"
271
- ></el-input>
183
+ <el-input v-model="form.terminal" type="textarea" autosize :placeholder="$t('contract.terminalTip')"></el-input>
272
184
  </el-form-item>
273
185
 
274
186
  <el-row class="bl-goods">
275
- <el-row
276
- v-for="(
277
- buyCompanyBillGood, index
278
- ) in form.buyerCompanyBillGoods"
279
- :key="index"
280
- class="mt5"
281
- >
187
+ <el-row v-for="(buyCompanyBillGood, index) in form.buyerCompanyBillGoods" :key="index" class="mt5">
282
188
  <el-col :span="4">
283
- <el-form-item
284
- :label="$t('contract.option') + (index + 1)"
285
- :rules="[{ required: true }]"
286
- ></el-form-item>
189
+ <el-form-item :label="$t('contract.option') + (index + 1)" :rules="[{ required: true }]"></el-form-item>
287
190
  </el-col>
288
191
  <el-col :span="2">
289
- <div
290
- style="
291
- background-color: darkgrey;
292
- height: 26px;
293
- margin-top: 1px;
294
- text-align: center;
295
- line-height: 28px;
296
- font-size: 14px;
297
- border-radius: 3px;
298
- "
299
- >{{ $t("contract.product") }}</div>
192
+ <div style="background-color: darkgrey; height: 26px; margin-top: 1px; text-align: center; line-height: 28px; font-size: 14px; border-radius: 3px">
193
+ {{ $t('contract.product') }}
194
+ </div>
300
195
  </el-col>
301
196
  <el-col :span="9">
302
197
  <el-form-item
303
198
  label-width="0px"
304
199
  :prop="'buyerCompanyBillGoods.' + index + '.goodsName'"
305
200
  :rules="[
306
- {
307
- required: true,
308
- message: $t('bill.tip1'),
309
- trigger: 'blur',
310
- },
311
- ]"
201
+ {
202
+ required: true,
203
+ message: $t('bill.tip1'),
204
+ trigger: 'blur'
205
+ }
206
+ ]"
312
207
  >
313
208
  <el-select
314
- style="width: 100%;"
209
+ style="width: 100%"
315
210
  size="mini"
316
211
  v-model="buyCompanyBillGood.goodsName"
317
- :placeholder="
318
- $t('placeholder.select') +
319
- $t('contract.billCargoName')
320
- "
212
+ :placeholder="$t('placeholder.select') + $t('contract.billCargoName')"
321
213
  @change="(val) => changeBillGood(val, index)"
322
214
  >
323
- <el-option
324
- v-for="(i, index) in billGoodsList"
325
- :key="index"
326
- :label="i.goodsName"
327
- :value="i.goodsName"
328
- />
215
+ <el-option v-for="(i, index) in billGoodsList" :key="index" :label="i.goodsName" :value="i.goodsName" />
329
216
  </el-select>
330
217
  </el-form-item>
331
218
  </el-col>
332
219
  <el-col :span="2">
333
- <div
334
- style="
335
- background-color: darkgrey;
336
- height: 26px;
337
- margin-top: 1px;
338
- text-align: center;
339
- line-height: 28px;
340
- font-size: 14px;
341
- border-radius: 3px;
342
- "
343
- >{{ $t("contract.hsCode") }}</div>
220
+ <div style="background-color: darkgrey; height: 26px; margin-top: 1px; text-align: center; line-height: 28px; font-size: 14px; border-radius: 3px">
221
+ {{ $t('contract.hsCode') }}
222
+ </div>
344
223
  </el-col>
345
224
  <el-col :span="3">
346
225
  <el-input disabled size="mini" v-model="buyCompanyBillGood.hsCode"></el-input>
347
226
  </el-col>
348
227
  <el-col :span="2">
349
- <el-button
350
- type="text"
351
- size="mini"
352
- class="ml10"
353
- @click="handleBillGoods(form.buyerCompanyId)"
354
- v-if="index === form.buyerCompanyBillGoods.length - 1"
355
- >{{ $t("button.addOrModify") }}</el-button>
228
+ <el-button type="text" size="mini" class="ml10" @click="handleBillGoods(form.buyerCompanyId)" v-if="index === form.buyerCompanyBillGoods.length - 1">{{
229
+ $t('button.addOrModify')
230
+ }}</el-button>
356
231
  </el-col>
357
232
  <el-col :span="1">
358
233
  <el-button
@@ -366,14 +241,7 @@
366
241
  ></el-button>
367
242
  </el-col>
368
243
  <el-col :span="1">
369
- <el-button
370
- v-if="index > 0"
371
- size="mini"
372
- icon="el-icon-minus"
373
- circle
374
- class="ml5"
375
- @click="deleteBillGoods(index)"
376
- ></el-button>
244
+ <el-button v-if="index > 0" size="mini" icon="el-icon-minus" circle class="ml5" @click="deleteBillGoods(index)"></el-button>
377
245
  </el-col>
378
246
  </el-row>
379
247
  </el-row>
@@ -386,34 +254,21 @@
386
254
  <el-row>
387
255
  <el-col :span="12">
388
256
  <el-form-item :label="$t('contract.shippingMarks') + ':'" prop="shippingMark">
389
- <el-input
390
- v-model="form.shippingMark"
391
- :placeholder="$t('contract.shippingMarksTip')"
392
- ></el-input>
257
+ <el-input v-model="form.shippingMark" :placeholder="$t('contract.shippingMarksTip')"></el-input>
393
258
  </el-form-item>
394
259
  </el-col>
395
260
  </el-row>
396
261
 
397
262
  <el-form-item :label="$t('contract.remark') + ':'" prop="blRemark">
398
- <el-input
399
- v-model="form.blRemark"
400
- type="textarea"
401
- :rows="5"
402
- :placeholder="$t('contract.remarkTip')"
403
- ></el-input>
263
+ <el-input v-model="form.blRemark" type="textarea" :rows="5" :placeholder="$t('contract.remarkTip')"></el-input>
404
264
  </el-form-item>
405
265
  <el-form-item :label="$t('contract.attachments') + ':'" prop="billPictures">
406
- <file-upload
407
- v-model="form.billPictures"
408
- :limit="10"
409
- :uploadType="'bill'"
410
- :fileType="[]"
411
- ></file-upload>
266
+ <file-upload v-model="form.billPictures" :limit="10" :uploadType="'bill'" :fileType="[]"></file-upload>
412
267
  </el-form-item>
413
268
  </el-form>
414
269
  </div>
415
- <div class="footer" v-if="!printModel">
416
- <el-button type="primary" @click="submitForm">{{ $t("button.saveDraft") }}</el-button>
270
+ <div class="footer" v-if="!printModel && !voidFlag">
271
+ <el-button type="primary" @click="submitForm">{{ $t('button.saveDraft') }}</el-button>
417
272
  </div>
418
273
  </div>
419
274
  </el-dialog>
@@ -423,24 +278,21 @@
423
278
  <bill-goods ref="billGoods" @submit="changeBillGoods"></bill-goods>
424
279
  </div>
425
280
  </template>
426
-
427
- <script>
428
- import {
429
- getBizDealRecord,
430
- updateBizDealRecord,
431
- } from '../../../api/biz/bizDealRecord';
432
- import { listBizContractCompany } from '../../../api/biz/bizContractCompany';
433
- import SubCompanyDialog from './subCompanyDialog.vue';
434
- import BillGoods from './billGoods.vue';
435
- import { listCompanyBillGoods } from '../../../api/biz/bizCompanyBillGoods';
436
- import { getBizContract } from '../../../api/biz/bizContract';
437
- import FileUpload from '../../../components/FileUpload/s3.vue';
281
+
282
+ <script>
283
+ import { getBizDealRecord, updateBizDealRecord } from '../../../api/biz/bizDealRecord'
284
+ import { listBizContractCompany } from '../../../api/biz/bizContractCompany'
285
+ import SubCompanyDialog from './subCompanyDialog.vue'
286
+ import BillGoods from './billGoods.vue'
287
+ import { listCompanyBillGoods } from '../../../api/biz/bizCompanyBillGoods'
288
+ import { getBizContract, changeBizStatus } from '../../../api/biz/bizContract'
289
+ import FileUpload from '../../../components/FileUpload/s3.vue'
438
290
 
439
291
  export default {
440
292
  name: 'EditBill',
441
293
  components: { SubCompanyDialog, BillGoods, FileUpload },
442
294
  props: {
443
- channel: '',
295
+ channel: ''
444
296
  },
445
297
  data() {
446
298
  return {
@@ -448,17 +300,22 @@ export default {
448
300
  loading: true,
449
301
  // 弹出层标题
450
302
  title: '',
303
+ expandItems: ['0', '1', '2'], // 展开指定项
451
304
  // 是否显示弹出层
452
305
  open: false,
306
+ // 是否已确认
307
+ confirmFlag: false,
308
+ // 是否已作废
309
+ voidFlag: false,
453
310
  // 表单参数
454
311
  form: {
455
312
  //买家公司提单货物名称
456
313
  buyerCompanyBillGoods: [
457
314
  {
458
315
  goodsName: '',
459
- hsCode: '',
460
- },
461
- ],
316
+ hsCode: ''
317
+ }
318
+ ]
462
319
  },
463
320
  printModel: false,
464
321
  //
@@ -472,136 +329,140 @@ export default {
472
329
  //
473
330
  dealId: null,
474
331
  rules: {
475
- deliveryCompanyId: [{ required: true, trigger: 'blur' }],
476
- notifierCompanyId: [{ required: true, trigger: 'blur' }],
477
- goodsName: [{ required: true, trigger: 'blur' }],
332
+ deliveryCompanyId: [{ required: true, trigger: 'blur', message: this.$t('bill.tip3') }],
333
+ notifierCompanyId: [{ required: true, trigger: 'blur', message: this.$t('bill.tip4') }],
334
+ goodsName: [{ required: true, trigger: 'blur' }]
478
335
  },
479
- contract: null,
480
- };
336
+ contract: null
337
+ }
481
338
  },
482
339
  watch: {
483
340
  deliveryCompanyList(newVal, oldVal) {
484
341
  if (newVal !== oldVal) {
485
- const defaultDeliveryCompany = newVal.find((item) => item.defaultFlag);
342
+ const defaultDeliveryCompany = newVal.find((item) => item.defaultFlag)
486
343
  if (!this.form.deliveryCompanyId && defaultDeliveryCompany) {
487
- this.form.deliveryCompanyId =
488
- defaultDeliveryCompany.contractCompanyId;
489
- this.form.deliveryCompany = defaultDeliveryCompany;
490
- this.form.blRemark = defaultDeliveryCompany.bliRemark;
344
+ this.form.deliveryCompanyId = defaultDeliveryCompany.contractCompanyId
345
+ this.form.deliveryCompany = defaultDeliveryCompany
346
+ this.form.blRemark = defaultDeliveryCompany.bliRemark
491
347
  } else {
492
- const deliveryCompany = newVal.find(
493
- (item) => item.contractCompanyId == this.form.deliveryCompanyId
494
- );
495
- this.form.deliveryCompany = deliveryCompany;
496
- this.form.blRemark = deliveryCompany?.bliRemark;
348
+ const deliveryCompany = newVal.find((item) => item.contractCompanyId == this.form.deliveryCompanyId)
349
+ this.form.deliveryCompany = deliveryCompany
350
+ this.form.blRemark = deliveryCompany?.bliRemark
497
351
  }
498
352
  }
499
353
  },
500
354
  notifierCompanyList(newVal, oldVal) {
501
355
  if (newVal !== oldVal) {
502
- const notifierDeliveryCompany = newVal.find((item) => item.defaultFlag);
356
+ const notifierDeliveryCompany = newVal.find((item) => item.defaultFlag)
503
357
  //成交没通知人公司取默认 否则取通知人公司信息
504
358
  if (!this.form.notifierCompanyId && notifierDeliveryCompany) {
505
- this.form.notifierCompanyId =
506
- notifierDeliveryCompany.contractCompanyId;
507
- this.form.notifierCompany = notifierDeliveryCompany;
359
+ this.form.notifierCompanyId = notifierDeliveryCompany.contractCompanyId
360
+ this.form.notifierCompany = notifierDeliveryCompany
508
361
  } else {
509
- this.form.notifierCompany = newVal.find(
510
- (item) => item.contractCompanyId == this.form.notifierCompanyId
511
- );
362
+ this.form.notifierCompany = newVal.find((item) => item.contractCompanyId == this.form.notifierCompanyId)
512
363
  }
513
364
  }
514
- },
365
+ }
515
366
  },
516
367
  created() {},
517
368
  methods: {
518
- handleEdit(contractId, dealId) {
519
- this.getDealRecord(dealId);
520
- this.getContract(contractId);
521
- this.open = true;
369
+ async handleEdit(contractId, dealId) {
370
+ const loading = this.openLoading()
371
+ try {
372
+ // 等待异步方法完成
373
+ await this.getDealRecord(dealId)
374
+ await this.getContract(contractId)
375
+ // 异步操作完成后设置open为true
376
+ this.open = true
377
+ } catch (error) {
378
+ console.error('An error occurred:', error)
379
+ // 你可以在这里处理错误
380
+ } finally {
381
+ // 无论成功或失败,关闭loading
382
+ loading.close()
383
+ }
522
384
  },
523
385
  getContract(contractId) {
524
- getBizContract(contractId).then((response) => {
525
- this.contract = response.data;
526
- });
386
+ // 将整个方法体封装在返回的Promise中
387
+ return new Promise((resolve, reject) => {
388
+ getBizContract(contractId)
389
+ .then((response) => {
390
+ this.contract = response.data
391
+ this.confirmFlag = this.contract.blConfirmFlag == '1'
392
+ this.voidFlag = this.contract.blConfirmFlag == '2'
393
+ resolve(response) // 异步操作成功,解决Promise
394
+ })
395
+ .catch((error) => {
396
+ reject(error) // 异步操作失败,拒绝Promise
397
+ })
398
+ })
527
399
  },
528
400
  //子公司更新
529
401
  changeSubCompanyList() {
530
- this.getContractCompanyList(this.form.buyerCompanyId);
402
+ this.getContractCompanyList(this.form.buyerCompanyId)
531
403
  },
532
404
  //子组件更新
533
405
  changeBillGoods() {
534
- this.getCompanyBillGoods(this.form.buyerCompanyId);
406
+ this.getCompanyBillGoods(this.form.buyerCompanyId)
535
407
  },
536
408
  //
537
409
  handleBillGoods(companyId) {
538
- this.$refs.billGoods.handleShow(companyId);
410
+ this.$refs.billGoods.handleShow(companyId)
539
411
  },
540
412
  //选中提单货物时
541
413
  changeBillGood(val, index) {
542
- const billGodd = this.billGoodsList.find((i) => i.goodsName == val);
543
- this.form.buyerCompanyBillGoods[index].hsCode = billGodd.hsCode;
414
+ const billGodd = this.billGoodsList.find((i) => i.goodsName == val)
415
+ this.form.buyerCompanyBillGoods[index].hsCode = billGodd.hsCode
544
416
  },
545
417
  //添加提单货物
546
418
  addBillGoods() {
547
419
  this.form.buyerCompanyBillGoods.push({
548
420
  goodsName: '',
549
- hsCode: '',
550
- });
421
+ hsCode: ''
422
+ })
551
423
  },
552
424
  //删除提单货物
553
425
  deleteBillGoods(index) {
554
- this.form.buyerCompanyBillGoods.splice(index, 1);
426
+ this.form.buyerCompanyBillGoods.splice(index, 1)
555
427
  },
556
428
  //获取公司提单货物
557
429
  getCompanyBillGoods(companyId) {
558
430
  listCompanyBillGoods({ companyId: companyId }).then((res) => {
559
- const billGoodsList = res.rows;
560
- this.billGoodsList = billGoodsList;
431
+ const billGoodsList = res.rows
432
+ this.billGoodsList = billGoodsList
561
433
  if (!this.form.buyerCompanyBillGoods) {
562
- const defaultBillGoods =
563
- billGoodsList.filter((item) => item.defaultFlag).length > 0
564
- ? billGoodsList.filter((item) => item.defaultFlag)[0]
565
- : null;
434
+ const defaultBillGoods = billGoodsList.filter((item) => item.defaultFlag).length > 0 ? billGoodsList.filter((item) => item.defaultFlag)[0] : null
566
435
  this.form.buyerCompanyBillGoods.push({
567
436
  goodsName: defaultBillGoods.goodsName,
568
- hsCode: defaultBillGoods.hsCode,
569
- });
437
+ hsCode: defaultBillGoods.hsCode
438
+ })
570
439
  }
571
- });
440
+ })
572
441
  },
573
442
  //更改收货人或者通知人公司时 相应显示变更
574
443
  changeSubCompany(val, type) {
575
444
  if (type == 'delivery') {
576
- var deliveryCompany = this.deliveryCompanyList.filter(
577
- (item) => item.contractCompanyId == val
578
- )[0];
445
+ var deliveryCompany = this.deliveryCompanyList.filter((item) => item.contractCompanyId == val)[0]
579
446
  if (this.form.deliveryCompany?.bliRemark == this.form?.blRemark) {
580
- this.form.blRemark = deliveryCompany?.bliRemark;
447
+ this.form.blRemark = deliveryCompany?.bliRemark
581
448
  }
582
- this.form.deliveryCompany = deliveryCompany;
449
+ this.form.deliveryCompany = deliveryCompany
583
450
  }
584
451
  if (type == 'notifier') {
585
- this.form.notifierCompany = this.notifierCompanyList.filter(
586
- (item) => item.contractCompanyId == val
587
- )[0];
452
+ this.form.notifierCompany = this.notifierCompanyList.filter((item) => item.contractCompanyId == val)[0]
588
453
  }
589
454
  },
590
455
  //添加或修改
591
456
  handleSubCompany(companyId, type) {
592
- this.$refs.subCompanyDialog.handleSubCompany(companyId, type);
457
+ this.$refs.subCompanyDialog.handleSubCompany(companyId, type)
593
458
  },
594
459
  //获取收货人公司与通知人公司
595
460
  getContractCompanyList(companyId) {
596
461
  listBizContractCompany({ companyId: companyId }).then((res) => {
597
- const contractCompanyList = res.rows;
598
- this.deliveryCompanyList = contractCompanyList.filter(
599
- (item) => item.companyType == 'delivery'
600
- );
601
- this.notifierCompanyList = contractCompanyList.filter(
602
- (item) => item.companyType == 'notifier'
603
- );
604
- });
462
+ const contractCompanyList = res.rows
463
+ this.deliveryCompanyList = contractCompanyList.filter((item) => item.companyType == 'delivery')
464
+ this.notifierCompanyList = contractCompanyList.filter((item) => item.companyType == 'notifier')
465
+ })
605
466
  },
606
467
  // 表单重置
607
468
  reset() {
@@ -676,58 +537,68 @@ export default {
676
537
  notifierCompanyId: null,
677
538
  shippingMark: null,
678
539
  blRemark: null,
679
- buyerCompanyBillGoods: null,
680
- };
681
- this.resetForm('form');
540
+ buyerCompanyBillGoods: null
541
+ }
542
+ this.resetForm('form')
682
543
  },
683
544
  getDealRecord(dealId) {
684
- this.reset();
685
- getBizDealRecord(dealId).then((response) => {
686
- this.form = response.data;
687
- if (this.form.buyerCompanyBillGoods) {
688
- this.form.buyerCompanyBillGoods = JSON.parse(
689
- this.form.buyerCompanyBillGoods
690
- );
691
- } else {
692
- this.form.buyerCompanyBillGoods = [];
693
- this.addBillGoods();
694
- }
545
+ // 将整个方法体封装在返回的Promise中
546
+ return new Promise((resolve, reject) => {
547
+ this.reset()
548
+ getBizDealRecord(dealId)
549
+ .then((response) => {
550
+ this.form = response.data
551
+ if (this.form.buyerCompanyBillGoods) {
552
+ this.form.buyerCompanyBillGoods = JSON.parse(this.form.buyerCompanyBillGoods)
553
+ } else {
554
+ this.form.buyerCompanyBillGoods = []
555
+ this.addBillGoods()
556
+ }
695
557
 
696
- this.getContractCompanyList(this.form.buyerCompanyId);
697
- this.getCompanyBillGoods(this.form.buyerCompanyId);
698
- this.form.dealRecordDetailList.map((item) => {
699
- if (item.imageList) {
700
- item.askCover = item.imageList.toString();
701
- }
702
- });
703
- this.form?.billPictures?.forEach((element) => {
704
- element.name = element.fileName;
705
- element.url = element.generateUrl;
706
- });
707
- });
558
+ // 注意: 这里如果 getContractCompanyList 和 getCompanyBillGoods 也是异步的,
559
+ // 你需要确保它们也被适当地等待
560
+ this.getContractCompanyList(this.form.buyerCompanyId)
561
+ this.getCompanyBillGoods(this.form.buyerCompanyId)
562
+
563
+ this.form.dealRecordDetailList.map((item) => {
564
+ if (item.imageList) {
565
+ item.askCover = item.imageList.toString()
566
+ }
567
+ })
568
+
569
+ this.form?.billPictures?.forEach((element) => {
570
+ element.name = element.fileName
571
+ element.url = element.generateUrl
572
+ })
573
+
574
+ resolve(response) // 异步操作成功,解决Promise
575
+ })
576
+ .catch((error) => {
577
+ reject(error) // 异步操作失败,拒绝Promise
578
+ })
579
+ })
708
580
  },
709
581
  /** 提交按钮 */
710
582
  submitForm() {
711
583
  this.$refs['form'].validate((valid) => {
712
584
  if (valid) {
713
585
  if (this.form.dealId != null) {
714
- var deal = JSON.parse(JSON.stringify(this.form));
715
- deal.buyerCompanyBillGoods = JSON.stringify(
716
- deal.buyerCompanyBillGoods
717
- );
586
+ var deal = JSON.parse(JSON.stringify(this.form))
587
+ deal.buyerCompanyBillGoods = JSON.stringify(deal.buyerCompanyBillGoods)
588
+ deal.blConfirmFlag = this.confirmFlag
718
589
  updateBizDealRecord(deal).then((response) => {
719
- this.open = false;
720
- this.$modal.msgSuccess('Save Success');
721
- this.$emit('edit');
722
- });
590
+ this.open = false
591
+ this.$modal.msgSuccess('Save Success')
592
+ this.$emit('edit')
593
+ })
723
594
  }
724
595
  }
725
- });
726
- },
727
- },
728
- };
596
+ })
597
+ }
598
+ }
599
+ }
729
600
  </script>
730
- <style lang="scss" scoped>
601
+ <style lang="scss" scoped>
731
602
  .app-container {
732
603
  padding: 0 20px;
733
604
 
@@ -785,4 +656,3 @@ export default {
785
656
  font-size: 25px; /* 增加箭头大小 */
786
657
  }
787
658
  </style>
788
-