doctor-admin-components 1.0.13-beta.9 → 1.0.13-beta.91

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 (56) hide show
  1. package/README.md +28 -9
  2. package/package.json +1 -1
  3. package/packages/index.js +10 -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 +305 -0
  15. package/packages/src/i18n/index.js +38 -0
  16. package/packages/src/i18n/zh-CN/message.json +305 -0
  17. package/packages/src/index.js +13 -1
  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 +1783 -986
  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 +123 -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 +143 -47
  32. package/packages/src/views/biz/bizFileInfo/fileShowClaim.vue +1 -1
  33. package/packages/src/views/biz/bizShipment/add.vue +223 -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 +191 -332
  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 +7 -4
  40. package/packages/src/views/biz/contractTracing/contractSummary.vue +20 -7
  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 +236 -363
  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/components/RegionPicker/Distpicker.vue +459 -0
  48. package/packages/src/views/components/RegionPicker/districts.js +4641 -0
  49. package/packages/src/views/test.vue +3 -3
  50. package/packages/src/views/biz/contractTracing/association.vue +0 -189
  51. package/packages/src/views/biz/contractTracing/chargingDialog.vue +0 -84
  52. package/packages/src/views/biz/contractTracing/contract.vue +0 -1276
  53. package/packages/src/views/biz/contractTracing/disputeRecord.vue +0 -311
  54. package/packages/src/views/biz/contractTracing/edit.vue +0 -205
  55. package/packages/src/views/biz/contractTracing/sendDrafEmail.vue +0 -120
  56. 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,95 @@
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
- <el-form-item :label="$t('contract.destination') + ':'">
259
- {{
260
- this.contract && this.contract.destination
261
- ? this.contract.destination
262
- : ""
263
- }}
179
+ <el-form-item v-if="contract && contract.freightTerms && contract.freightTerms != 'EXW'" :label="$t('contract.destination') + ':'">
180
+ {{ this.contract && this.contract.destination ? this.contract.destination : '' }}
181
+ </el-form-item>
182
+ <el-form-item v-else :label="'EXW Address' + ':'">
183
+ {{ this.contract && this.contract.exw ? this.contract.exw : '' }}
264
184
  </el-form-item>
265
- <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>
185
+ <el-form-item v-if="contract && contract.freightTerms && contract.freightTerms != 'EXW'" :label="$t('contract.terminal') + ':'" prop="terminal">
186
+ <el-input v-model="form.terminal" type="textarea" autosize :placeholder="$t('contract.terminalTip')"></el-input>
272
187
  </el-form-item>
273
188
 
274
189
  <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
- >
190
+ <el-row v-for="(buyCompanyBillGood, index) in form.buyerCompanyBillGoods" :key="index" class="mt5">
282
191
  <el-col :span="4">
283
- <el-form-item
284
- :label="$t('contract.option') + (index + 1)"
285
- :rules="[{ required: true }]"
286
- ></el-form-item>
192
+ <el-form-item :label="$t('contract.option') + (index + 1)" :rules="[{ required: true }]"></el-form-item>
287
193
  </el-col>
288
194
  <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>
195
+ <div style="background-color: darkgrey; height: 26px; margin-top: 1px; text-align: center; line-height: 28px; font-size: 14px; border-radius: 3px">
196
+ {{ $t('contract.product') }}
197
+ </div>
300
198
  </el-col>
301
199
  <el-col :span="9">
302
200
  <el-form-item
303
201
  label-width="0px"
304
202
  :prop="'buyerCompanyBillGoods.' + index + '.goodsName'"
305
203
  :rules="[
306
- {
307
- required: true,
308
- message: $t('bill.tip1'),
309
- trigger: 'blur',
310
- },
311
- ]"
204
+ {
205
+ required: true,
206
+ message: $t('bill.tip1'),
207
+ trigger: 'blur'
208
+ }
209
+ ]"
312
210
  >
313
211
  <el-select
314
- style="width: 100%;"
212
+ style="width: 100%"
315
213
  size="mini"
316
214
  v-model="buyCompanyBillGood.goodsName"
317
- :placeholder="
318
- $t('placeholder.select') +
319
- $t('contract.billCargoName')
320
- "
215
+ :placeholder="$t('placeholder.select') + $t('contract.billCargoName')"
321
216
  @change="(val) => changeBillGood(val, index)"
322
217
  >
323
- <el-option
324
- v-for="(i, index) in billGoodsList"
325
- :key="index"
326
- :label="i.goodsName"
327
- :value="i.goodsName"
328
- />
218
+ <el-option v-for="(i, index) in billGoodsList" :key="index" :label="i.goodsName" :value="i.goodsName" />
329
219
  </el-select>
330
220
  </el-form-item>
331
221
  </el-col>
332
222
  <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>
223
+ <div style="background-color: darkgrey; height: 26px; margin-top: 1px; text-align: center; line-height: 28px; font-size: 14px; border-radius: 3px">
224
+ {{ $t('contract.hsCode') }}
225
+ </div>
344
226
  </el-col>
345
227
  <el-col :span="3">
346
228
  <el-input disabled size="mini" v-model="buyCompanyBillGood.hsCode"></el-input>
347
229
  </el-col>
348
230
  <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>
231
+ <el-button type="text" size="mini" class="ml10" @click="handleBillGoods(form.buyerCompanyId)" v-if="index === form.buyerCompanyBillGoods.length - 1">{{
232
+ $t('button.addOrModify')
233
+ }}</el-button>
356
234
  </el-col>
357
235
  <el-col :span="1">
358
236
  <el-button
@@ -366,14 +244,7 @@
366
244
  ></el-button>
367
245
  </el-col>
368
246
  <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>
247
+ <el-button v-if="index > 0" size="mini" icon="el-icon-minus" circle class="ml5" @click="deleteBillGoods(index)"></el-button>
377
248
  </el-col>
378
249
  </el-row>
379
250
  </el-row>
@@ -386,34 +257,21 @@
386
257
  <el-row>
387
258
  <el-col :span="12">
388
259
  <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>
260
+ <el-input v-model="form.shippingMark" :placeholder="$t('contract.shippingMarksTip')"></el-input>
393
261
  </el-form-item>
394
262
  </el-col>
395
263
  </el-row>
396
264
 
397
265
  <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>
266
+ <el-input v-model="form.blRemark" type="textarea" :rows="5" :placeholder="$t('contract.remarkTip')"></el-input>
404
267
  </el-form-item>
405
268
  <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>
269
+ <file-upload v-model="form.billPictures" :limit="10" :uploadType="'bill'" :fileType="[]"></file-upload>
412
270
  </el-form-item>
413
271
  </el-form>
414
272
  </div>
415
- <div class="footer" v-if="!printModel">
416
- <el-button type="primary" @click="submitForm">{{ $t("button.saveDraft") }}</el-button>
273
+ <div class="footer" v-if="!printModel && !voidFlag">
274
+ <el-button type="primary" @click="submitForm">{{ $t('button.saveDraft') }}</el-button>
417
275
  </div>
418
276
  </div>
419
277
  </el-dialog>
@@ -423,24 +281,21 @@
423
281
  <bill-goods ref="billGoods" @submit="changeBillGoods"></bill-goods>
424
282
  </div>
425
283
  </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';
284
+
285
+ <script>
286
+ import { getBizDealRecord, updateBizDealRecord } from '../../../api/biz/bizDealRecord'
287
+ import { listBizContractCompany } from '../../../api/biz/bizContractCompany'
288
+ import SubCompanyDialog from './subCompanyDialog.vue'
289
+ import BillGoods from './billGoods.vue'
290
+ import { listCompanyBillGoods } from '../../../api/biz/bizCompanyBillGoods'
291
+ import { getBizContract, changeBizStatus } from '../../../api/biz/bizContract'
292
+ import FileUpload from '../../../components/FileUpload/s3.vue'
438
293
 
439
294
  export default {
440
295
  name: 'EditBill',
441
296
  components: { SubCompanyDialog, BillGoods, FileUpload },
442
297
  props: {
443
- channel: '',
298
+ channel: ''
444
299
  },
445
300
  data() {
446
301
  return {
@@ -448,17 +303,22 @@ export default {
448
303
  loading: true,
449
304
  // 弹出层标题
450
305
  title: '',
306
+ expandItems: ['0', '1', '2'], // 展开指定项
451
307
  // 是否显示弹出层
452
308
  open: false,
309
+ // 是否已确认
310
+ confirmFlag: false,
311
+ // 是否已作废
312
+ voidFlag: false,
453
313
  // 表单参数
454
314
  form: {
455
315
  //买家公司提单货物名称
456
316
  buyerCompanyBillGoods: [
457
317
  {
458
318
  goodsName: '',
459
- hsCode: '',
460
- },
461
- ],
319
+ hsCode: ''
320
+ }
321
+ ]
462
322
  },
463
323
  printModel: false,
464
324
  //
@@ -472,136 +332,140 @@ export default {
472
332
  //
473
333
  dealId: null,
474
334
  rules: {
475
- deliveryCompanyId: [{ required: true, trigger: 'blur' }],
476
- notifierCompanyId: [{ required: true, trigger: 'blur' }],
477
- goodsName: [{ required: true, trigger: 'blur' }],
335
+ deliveryCompanyId: [{ required: true, trigger: 'blur', message: this.$t('bill.tip3') }],
336
+ notifierCompanyId: [{ required: true, trigger: 'blur', message: this.$t('bill.tip4') }],
337
+ goodsName: [{ required: true, trigger: 'blur' }]
478
338
  },
479
- contract: null,
480
- };
339
+ contract: null
340
+ }
481
341
  },
482
342
  watch: {
483
343
  deliveryCompanyList(newVal, oldVal) {
484
344
  if (newVal !== oldVal) {
485
- const defaultDeliveryCompany = newVal.find((item) => item.defaultFlag);
345
+ const defaultDeliveryCompany = newVal.find((item) => item.defaultFlag)
486
346
  if (!this.form.deliveryCompanyId && defaultDeliveryCompany) {
487
- this.form.deliveryCompanyId =
488
- defaultDeliveryCompany.contractCompanyId;
489
- this.form.deliveryCompany = defaultDeliveryCompany;
490
- this.form.blRemark = defaultDeliveryCompany.bliRemark;
347
+ this.form.deliveryCompanyId = defaultDeliveryCompany.contractCompanyId
348
+ this.form.deliveryCompany = defaultDeliveryCompany
349
+ this.form.blRemark = defaultDeliveryCompany.bliRemark
491
350
  } 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;
351
+ const deliveryCompany = newVal.find((item) => item.contractCompanyId == this.form.deliveryCompanyId)
352
+ this.form.deliveryCompany = deliveryCompany
353
+ this.form.blRemark = deliveryCompany?.bliRemark
497
354
  }
498
355
  }
499
356
  },
500
357
  notifierCompanyList(newVal, oldVal) {
501
358
  if (newVal !== oldVal) {
502
- const notifierDeliveryCompany = newVal.find((item) => item.defaultFlag);
359
+ const notifierDeliveryCompany = newVal.find((item) => item.defaultFlag)
503
360
  //成交没通知人公司取默认 否则取通知人公司信息
504
361
  if (!this.form.notifierCompanyId && notifierDeliveryCompany) {
505
- this.form.notifierCompanyId =
506
- notifierDeliveryCompany.contractCompanyId;
507
- this.form.notifierCompany = notifierDeliveryCompany;
362
+ this.form.notifierCompanyId = notifierDeliveryCompany.contractCompanyId
363
+ this.form.notifierCompany = notifierDeliveryCompany
508
364
  } else {
509
- this.form.notifierCompany = newVal.find(
510
- (item) => item.contractCompanyId == this.form.notifierCompanyId
511
- );
365
+ this.form.notifierCompany = newVal.find((item) => item.contractCompanyId == this.form.notifierCompanyId)
512
366
  }
513
367
  }
514
- },
368
+ }
515
369
  },
516
370
  created() {},
517
371
  methods: {
518
- handleEdit(contractId, dealId) {
519
- this.getDealRecord(dealId);
520
- this.getContract(contractId);
521
- this.open = true;
372
+ async handleEdit(contractId, dealId) {
373
+ const loading = this.openLoading()
374
+ try {
375
+ // 等待异步方法完成
376
+ await this.getDealRecord(dealId)
377
+ await this.getContract(contractId)
378
+ // 异步操作完成后设置open为true
379
+ this.open = true
380
+ } catch (error) {
381
+ console.error('An error occurred:', error)
382
+ // 你可以在这里处理错误
383
+ } finally {
384
+ // 无论成功或失败,关闭loading
385
+ loading.close()
386
+ }
522
387
  },
523
388
  getContract(contractId) {
524
- getBizContract(contractId).then((response) => {
525
- this.contract = response.data;
526
- });
389
+ // 将整个方法体封装在返回的Promise中
390
+ return new Promise((resolve, reject) => {
391
+ getBizContract(contractId)
392
+ .then((response) => {
393
+ this.contract = response.data
394
+ this.confirmFlag = this.contract.blConfirmFlag == '1'
395
+ this.voidFlag = this.contract.blConfirmFlag == '2'
396
+ resolve(response) // 异步操作成功,解决Promise
397
+ })
398
+ .catch((error) => {
399
+ reject(error) // 异步操作失败,拒绝Promise
400
+ })
401
+ })
527
402
  },
528
403
  //子公司更新
529
404
  changeSubCompanyList() {
530
- this.getContractCompanyList(this.form.buyerCompanyId);
405
+ this.getContractCompanyList(this.form.buyerCompanyId)
531
406
  },
532
407
  //子组件更新
533
408
  changeBillGoods() {
534
- this.getCompanyBillGoods(this.form.buyerCompanyId);
409
+ this.getCompanyBillGoods(this.form.buyerCompanyId)
535
410
  },
536
411
  //
537
412
  handleBillGoods(companyId) {
538
- this.$refs.billGoods.handleShow(companyId);
413
+ this.$refs.billGoods.handleShow(companyId)
539
414
  },
540
415
  //选中提单货物时
541
416
  changeBillGood(val, index) {
542
- const billGodd = this.billGoodsList.find((i) => i.goodsName == val);
543
- this.form.buyerCompanyBillGoods[index].hsCode = billGodd.hsCode;
417
+ const billGodd = this.billGoodsList.find((i) => i.goodsName == val)
418
+ this.form.buyerCompanyBillGoods[index].hsCode = billGodd.hsCode
544
419
  },
545
420
  //添加提单货物
546
421
  addBillGoods() {
547
422
  this.form.buyerCompanyBillGoods.push({
548
423
  goodsName: '',
549
- hsCode: '',
550
- });
424
+ hsCode: ''
425
+ })
551
426
  },
552
427
  //删除提单货物
553
428
  deleteBillGoods(index) {
554
- this.form.buyerCompanyBillGoods.splice(index, 1);
429
+ this.form.buyerCompanyBillGoods.splice(index, 1)
555
430
  },
556
431
  //获取公司提单货物
557
432
  getCompanyBillGoods(companyId) {
558
433
  listCompanyBillGoods({ companyId: companyId }).then((res) => {
559
- const billGoodsList = res.rows;
560
- this.billGoodsList = billGoodsList;
434
+ const billGoodsList = res.rows
435
+ this.billGoodsList = billGoodsList
561
436
  if (!this.form.buyerCompanyBillGoods) {
562
- const defaultBillGoods =
563
- billGoodsList.filter((item) => item.defaultFlag).length > 0
564
- ? billGoodsList.filter((item) => item.defaultFlag)[0]
565
- : null;
437
+ const defaultBillGoods = billGoodsList.filter((item) => item.defaultFlag).length > 0 ? billGoodsList.filter((item) => item.defaultFlag)[0] : null
566
438
  this.form.buyerCompanyBillGoods.push({
567
439
  goodsName: defaultBillGoods.goodsName,
568
- hsCode: defaultBillGoods.hsCode,
569
- });
440
+ hsCode: defaultBillGoods.hsCode
441
+ })
570
442
  }
571
- });
443
+ })
572
444
  },
573
445
  //更改收货人或者通知人公司时 相应显示变更
574
446
  changeSubCompany(val, type) {
575
447
  if (type == 'delivery') {
576
- var deliveryCompany = this.deliveryCompanyList.filter(
577
- (item) => item.contractCompanyId == val
578
- )[0];
448
+ var deliveryCompany = this.deliveryCompanyList.filter((item) => item.contractCompanyId == val)[0]
579
449
  if (this.form.deliveryCompany?.bliRemark == this.form?.blRemark) {
580
- this.form.blRemark = deliveryCompany?.bliRemark;
450
+ this.form.blRemark = deliveryCompany?.bliRemark
581
451
  }
582
- this.form.deliveryCompany = deliveryCompany;
452
+ this.form.deliveryCompany = deliveryCompany
583
453
  }
584
454
  if (type == 'notifier') {
585
- this.form.notifierCompany = this.notifierCompanyList.filter(
586
- (item) => item.contractCompanyId == val
587
- )[0];
455
+ this.form.notifierCompany = this.notifierCompanyList.filter((item) => item.contractCompanyId == val)[0]
588
456
  }
589
457
  },
590
458
  //添加或修改
591
459
  handleSubCompany(companyId, type) {
592
- this.$refs.subCompanyDialog.handleSubCompany(companyId, type);
460
+ this.$refs.subCompanyDialog.handleSubCompany(companyId, type)
593
461
  },
594
462
  //获取收货人公司与通知人公司
595
463
  getContractCompanyList(companyId) {
596
464
  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
- });
465
+ const contractCompanyList = res.rows
466
+ this.deliveryCompanyList = contractCompanyList.filter((item) => item.companyType == 'delivery')
467
+ this.notifierCompanyList = contractCompanyList.filter((item) => item.companyType == 'notifier')
468
+ })
605
469
  },
606
470
  // 表单重置
607
471
  reset() {
@@ -676,58 +540,68 @@ export default {
676
540
  notifierCompanyId: null,
677
541
  shippingMark: null,
678
542
  blRemark: null,
679
- buyerCompanyBillGoods: null,
680
- };
681
- this.resetForm('form');
543
+ buyerCompanyBillGoods: null
544
+ }
545
+ this.resetForm('form')
682
546
  },
683
547
  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
- }
548
+ // 将整个方法体封装在返回的Promise中
549
+ return new Promise((resolve, reject) => {
550
+ this.reset()
551
+ getBizDealRecord(dealId)
552
+ .then((response) => {
553
+ this.form = response.data
554
+ if (this.form.buyerCompanyBillGoods) {
555
+ this.form.buyerCompanyBillGoods = JSON.parse(this.form.buyerCompanyBillGoods)
556
+ } else {
557
+ this.form.buyerCompanyBillGoods = []
558
+ this.addBillGoods()
559
+ }
695
560
 
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
- });
561
+ // 注意: 这里如果 getContractCompanyList 和 getCompanyBillGoods 也是异步的,
562
+ // 你需要确保它们也被适当地等待
563
+ this.getContractCompanyList(this.form.buyerCompanyId)
564
+ this.getCompanyBillGoods(this.form.buyerCompanyId)
565
+
566
+ this.form.dealRecordDetailList.map((item) => {
567
+ if (item.imageList) {
568
+ item.askCover = item.imageList.toString()
569
+ }
570
+ })
571
+
572
+ this.form?.billPictures?.forEach((element) => {
573
+ element.name = element.fileName
574
+ element.url = element.generateUrl
575
+ })
576
+
577
+ resolve(response) // 异步操作成功,解决Promise
578
+ })
579
+ .catch((error) => {
580
+ reject(error) // 异步操作失败,拒绝Promise
581
+ })
582
+ })
708
583
  },
709
584
  /** 提交按钮 */
710
585
  submitForm() {
711
586
  this.$refs['form'].validate((valid) => {
712
587
  if (valid) {
713
588
  if (this.form.dealId != null) {
714
- var deal = JSON.parse(JSON.stringify(this.form));
715
- deal.buyerCompanyBillGoods = JSON.stringify(
716
- deal.buyerCompanyBillGoods
717
- );
589
+ var deal = JSON.parse(JSON.stringify(this.form))
590
+ deal.buyerCompanyBillGoods = JSON.stringify(deal.buyerCompanyBillGoods)
591
+ deal.blConfirmFlag = this.confirmFlag
718
592
  updateBizDealRecord(deal).then((response) => {
719
- this.open = false;
720
- this.$modal.msgSuccess('Save Success');
721
- this.$emit('edit');
722
- });
593
+ this.open = false
594
+ this.$modal.msgSuccess('Save Success')
595
+ this.$emit('edit')
596
+ })
723
597
  }
724
598
  }
725
- });
726
- },
727
- },
728
- };
599
+ })
600
+ }
601
+ }
602
+ }
729
603
  </script>
730
- <style lang="scss" scoped>
604
+ <style lang="scss" scoped>
731
605
  .app-container {
732
606
  padding: 0 20px;
733
607
 
@@ -785,4 +659,3 @@ export default {
785
659
  font-size: 25px; /* 增加箭头大小 */
786
660
  }
787
661
  </style>
788
-