doctor-admin-components 1.0.13-beta.7 → 1.0.13-beta.71

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 (50) 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 +980 -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/assets/images/click-show-table.png +0 -0
  9. package/packages/src/assets/images/more.png +0 -0
  10. package/packages/src/assets/images/pdf-new.png +0 -0
  11. package/packages/src/components/FileUpload/contract-drag-new.vue +99 -10
  12. package/packages/src/i18n/en/message.json +297 -0
  13. package/packages/src/i18n/index.js +38 -0
  14. package/packages/src/i18n/zh-CN/message.json +297 -0
  15. package/packages/src/index.js +6 -0
  16. package/packages/src/utils/index.js +35 -0
  17. package/packages/src/utils/request.js +120 -146
  18. package/packages/src/views/biz/bizFileInfo/PAYMENT_VOUCHER(/"payment_voucher/", /"/344/273/230/346/254/276/345/207/255/350/257/201.ini" +222 -0
  19. package/packages/src/views/biz/bizFileInfo/contract copy.vue +1711 -0
  20. package/packages/src/views/biz/bizFileInfo/contract.vue +1676 -998
  21. package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +114 -0
  22. package/packages/src/views/biz/bizFileInfo/contractFile/ContentTitle.vue +102 -0
  23. package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +308 -0
  24. package/packages/src/views/biz/bizFileInfo/contractFile/Progress.vue +85 -0
  25. package/packages/src/views/biz/bizFileInfo/contractFile/ProgressDetail.vue +122 -0
  26. package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +83 -0
  27. package/packages/src/views/biz/bizFileInfo/contractFile/ShowAndHide.vue +178 -0
  28. package/packages/src/views/biz/bizFileInfo/fileShow copy.vue +321 -0
  29. package/packages/src/views/biz/bizFileInfo/fileShow.vue +131 -46
  30. package/packages/src/views/biz/bizFileInfo/fileShowClaim.vue +1 -1
  31. package/packages/src/views/biz/bizShipment/add.vue +126 -61
  32. package/packages/src/views/biz/contractTracing/addSubCompany.vue +106 -169
  33. package/packages/src/views/biz/contractTracing/billInfo.vue +150 -315
  34. package/packages/src/views/biz/contractTracing/companyBanks.vue +228 -0
  35. package/packages/src/views/biz/contractTracing/contractPdf.vue +5 -3
  36. package/packages/src/views/biz/contractTracing/contractSummary.vue +286 -629
  37. package/packages/src/views/biz/contractTracing/contractTracingDetail copy.vue +107 -0
  38. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +204 -7
  39. package/packages/src/views/biz/contractTracing/editBill.vue +219 -359
  40. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +153 -7
  41. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +8 -2
  42. package/packages/src/views/biz/contractTracing/subCompanyDialog.vue +203 -176
  43. package/packages/src/views/test.vue +3 -3
  44. package/packages/src/views/biz/contractTracing/association.vue +0 -189
  45. package/packages/src/views/biz/contractTracing/chargingDialog.vue +0 -84
  46. package/packages/src/views/biz/contractTracing/contract.vue +0 -1276
  47. package/packages/src/views/biz/contractTracing/disputeRecord.vue +0 -311
  48. package/packages/src/views/biz/contractTracing/edit.vue +0 -205
  49. package/packages/src/views/biz/contractTracing/sendDrafEmail.vue +0 -120
  50. package/packages/src/views/biz/contractTracing/shipment.vue +0 -601
@@ -1,34 +1,54 @@
1
1
  <template>
2
2
  <div class="file-info" v-if="fileInfo.url">
3
3
  <div class="main">
4
- <el-checkbox v-if="!this.hiddenOperation" label="" @change="handleCheck"> </el-checkbox>
4
+ <el-checkbox v-if="!this.hiddenOperation" label="" class="checkbox-position" @change="handleCheck" v-model="checkFlag">
5
+ </el-checkbox>
5
6
  <div class="area">
6
7
  <div class="area-info">
7
- <div class="area-pdf" v-if="fileInfo.ext == '.pdf'"></div>
8
- <el-image style="width: 54px; height: 54px" :src="fileInfo.url" fit="contain" :preview-src-list="[fileInfo.url]" v-else-if="isImage(fileInfo.ext)"></el-image>
8
+ <div class="area-pdf" v-if="isPdf(fileInfo.url)"></div>
9
+ <el-image style="width: 38px; height: 46px" :src="fileInfo.url" fit="contain" :preview-src-list="[fileInfo.url]" v-else-if="isImage(fileInfo.url)"></el-image>
9
10
  <div class="area-file" v-else></div>
10
- <el-button type="text" size="mini" class="ml5" @click="openFile(fileInfo.url)">{{ $t('contractDetail.preview') }}</el-button>
11
- <el-button type="text" size="mini" @click="handleDownload">
12
- {{ $t('contractDetail.download') }}
13
- </el-button>
14
- </div>
15
- <div v-if="!this.hiddenOperation">
16
- <el-dropdown trigger="click" @command="handleCommand">
17
- <span class="el-dropdown-link">
11
+ <div>
12
+ <div> {{ fileInfo.fileName }}</div>
13
+ <div class="preview-download-root">
14
+ <div
15
+ type="text"
16
+ size="mini"
17
+ class="preview-download"
18
+ @click="openFile(fileInfo.url)"
19
+ >{{ $t("contractDetail.preview") }}</div
20
+ >
21
+ <div class="preview-download" type="text" size="mini" @click="handleDownload">
22
+ {{ $t("contractDetail.download") }}
23
+ </div>
24
+ <div v-if="!this.hiddenOperation">
25
+ <el-dropdown trigger="click" @command="handleCommand">
26
+ <span class="el-dropdown-link">
27
+ <div class="more-icon"></div>
28
+ </span>
29
+
30
+ <el-dropdown-menu slot="dropdown" v-if="type == 'signContract'" >
31
+ <el-dropdown-item command="signContract">
32
+ {{ $t('contractDetail.withdraw_sign') }}
33
+ </el-dropdown-item>
34
+ <el-dropdown-item command="rename">{{$t('contractDetail.rename')}}</el-dropdown-item>
35
+ </el-dropdown-menu>
36
+ <el-dropdown-menu slot="dropdown" v-else >
37
+ <el-dropdown-item command="delete">{{
38
+ $t("contractDetail.delete")
39
+ }}</el-dropdown-item>
40
+ <el-dropdown-item command="rename">{{$t('contractDetail.rename')}}</el-dropdown-item>
41
+ <!-- <el-dropdown-item command="deleteAndUpload">
42
+ {{ $t("contractDetail.deleteAndUpload") }}
43
+ </el-dropdown-item> -->
44
+ </el-dropdown-menu>
45
+ </el-dropdown>
46
+ </div>
47
+ <!-- <div v-else style="width:120px;word-break:break-all">
18
48
  {{ fileInfo.fileName }}
19
- <i class="el-icon-arrow-down el-icon--right"></i>
20
- </span>
21
- <el-dropdown-menu slot="dropdown">
22
- <el-dropdown-item command="delete">{{ $t('contractDetail.delete') }}</el-dropdown-item>
23
- <el-dropdown-item command="rename">重命名</el-dropdown-item>
24
- <el-dropdown-item command="deleteAndUpload">
25
- {{ $t('contractDetail.deleteAndUpload') }}
26
- </el-dropdown-item>
27
- </el-dropdown-menu>
28
- </el-dropdown>
29
- </div>
30
- <div v-else style="width: 120px; word-break: break-all">
31
- {{ fileInfo.fileName }}
49
+ </div> -->
50
+ </div>
51
+ </div>
32
52
  </div>
33
53
  </div>
34
54
  </div>
@@ -37,7 +57,7 @@
37
57
  <el-dialog :title="title" :visible.sync="open" width="550px" append-to-body>
38
58
  <el-form ref="form" :model="form" label-width="100px">
39
59
  <el-form-item :label="$t('contractDetail.fileNmae')" prop="fileName">
40
- <el-input v-model="form.fileName" placeholder="请输入文件名" />
60
+ <el-input v-model="form.fileName" :placeholder="$t('contractDetail.Please_enter_a_file_name')" />
41
61
  </el-form-item>
42
62
  </el-form>
43
63
  <div slot="footer" class="dialog-footer">
@@ -60,7 +80,9 @@
60
80
  </template>
61
81
  <script>
62
82
  import { downloadFile } from '../../../utils/request'
63
- import { getBizFileInfo, delBizFileInfo, addBizFileInfo, updateBizFileInfo } from '../../../api/biz/bizFileInfo'
83
+ import { getBizFileInfo, delBizFileInfo, addBizFileInfo, updateBizFileInfo, shipmentWithDrawDraftBill } from '../../../api/biz/bizFileInfo'
84
+ import { isImage, isPdf } from '../../../utils/index';
85
+
64
86
  export default {
65
87
  name: 'FileShow',
66
88
  props: {
@@ -75,14 +97,26 @@ export default {
75
97
  }
76
98
  }
77
99
  },
100
+ selectFileListProp: {
101
+ type: Array,
102
+ default: () => {
103
+ return []
104
+ }
105
+ },
78
106
  //是否隐藏操作
79
107
  hiddenOperation: {
80
108
  type: Boolean,
81
- default: false
82
- }
109
+ default: false,
110
+ },
111
+ type: {
112
+ type: String,
113
+ default: '',
114
+ },
83
115
  },
84
116
  data() {
85
117
  return {
118
+ isImage,
119
+ isPdf,
86
120
  checkedIds: [],
87
121
  //是否显示上传弹出层
88
122
  uploadOpen: false,
@@ -93,9 +127,10 @@ export default {
93
127
  // 表单参数
94
128
  form: {},
95
129
  //上传表单
96
- uploadForm: {}
130
+ uploadForm: {},
131
+ checkFlag: false
97
132
  }
98
- },
133
+ },
99
134
  computed: {
100
135
  fileId() {
101
136
  return this.fileInfo.fileId
@@ -172,8 +207,15 @@ export default {
172
207
  return delBizFileInfo(fileIds)
173
208
  })
174
209
  .then(() => {
175
- this.$emit('refresh')
176
- this.$modal.msgSuccess('删除成功')
210
+ if(row.fileType == "draft_bill_of_lading") {
211
+ shipmentWithDrawDraftBill({shipmentId:row.linkId}).then(() => {
212
+ this.$emit('refresh')
213
+ this.$modal.msgSuccess('删除成功')
214
+ })
215
+ } else {
216
+ this.$emit('refresh')
217
+ this.$modal.msgSuccess('删除成功')
218
+ }
177
219
  })
178
220
  .catch(() => {})
179
221
  },
@@ -207,22 +249,22 @@ export default {
207
249
  },
208
250
  handleCommand(command) {
209
251
  switch (command) {
210
- case 'delete':
211
- this.handleDelete(this.fileInfo)
212
- break
213
- case 'rename':
214
- this.handleUpdate(this.fileInfo)
215
- break
216
- case 'deleteAndUpload':
217
- this.handleDeleteAndUpload(this.fileInfo)
218
- break
252
+ case "delete":
253
+ this.handleDelete(this.fileInfo);
254
+ break;
255
+ case "rename":
256
+ this.handleUpdate(this.fileInfo);
257
+ break;
258
+ case "signContract":
259
+ this.$emit("signContract", this.fileInfo);
260
+ break;
261
+ case "deleteAndUpload":
262
+ this.handleDeleteAndUpload(this.fileInfo);
263
+ break;
219
264
  default:
220
265
  break
221
266
  }
222
267
  },
223
- isImage(ext) {
224
- return ['.jpg', '.jpeg', '.png', '.gif'].includes(ext)
225
- },
226
268
  /** 下载文件 */
227
269
  handleDownload() {
228
270
  // this.download(this.fileInfo.url, {}, this.fileInfo.fileName);
@@ -234,20 +276,36 @@ export default {
234
276
  handleCheck(val) {
235
277
  if (val) {
236
278
  this.$emit('checked', this.fileInfo)
279
+ this.checkFlag = true
237
280
  } else {
238
281
  this.$emit('uncheck', this.fileInfo.fileId)
282
+ this.checkFlag = false
239
283
  }
240
284
  }
285
+ },
286
+ watch: {
287
+ selectFileListProp: {
288
+ handler(val) {
289
+ if(val == 0) {
290
+ this.checkFlag = false
291
+ }
292
+ },
293
+ immediate: true,
294
+ deep: true
295
+ }
241
296
  }
242
297
  }
243
298
  </script>
244
299
  <style lang="scss" scoped>
245
300
  .file-info {
246
- width: 160px;
301
+ min-width: 450px;
247
302
  display: flex;
248
303
  // border: 1px solid red;
249
304
  .main {
250
305
  display: flex;
306
+ .checkbox-position {
307
+ margin-top: 10px;
308
+ }
251
309
  .area {
252
310
  margin-left: 5px;
253
311
  width: 100%;
@@ -258,7 +316,7 @@ export default {
258
316
  .area-pdf {
259
317
  width: 38px;
260
318
  height: 46px;
261
- background: url('../../../assets/images/pdf.png') no-repeat center;
319
+ background: url("../../../assets/images/pdf-new.png") no-repeat center;
262
320
  background-size: contain;
263
321
  }
264
322
  .area-file {
@@ -267,6 +325,33 @@ export default {
267
325
  background: url('../../../assets/images/file.png') no-repeat center;
268
326
  background-size: contain;
269
327
  }
328
+ .more-icon {
329
+ margin-left:10px;
330
+ cursor: pointer;
331
+ width: 20px;
332
+ height: 20px;
333
+ background: url("../../../assets/images/more.png") no-repeat center;
334
+ background-size: contain;
335
+ }
336
+ .preview-download-root {
337
+ display:flex;
338
+ margin-top:5px;
339
+
340
+ .preview-download {
341
+ cursor: pointer;
342
+ margin-left:8px;
343
+ min-width: 45px;
344
+ width:max-content;
345
+ padding: 0 10px;
346
+ height: 21px;
347
+ text-align: center;
348
+ line-height: 17px;
349
+ background: #FFFFFF;
350
+ border-radius: 11px;
351
+ font-size:12px;
352
+ border: 2px solid #D1D3D4;
353
+ }
354
+ }
270
355
  }
271
356
  }
272
357
  .filename {
@@ -269,7 +269,7 @@ export default {
269
269
  .area-pdf {
270
270
  width: 38px;
271
271
  height: 46px;
272
- background-image: url("../../../assets/images/pdf.png") no-repeat
272
+ background-image: url("../../../assets/images/pdf-new.png") no-repeat
273
273
  center;
274
274
  background-size: contain;
275
275
  }
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="app-container">
3
3
  <!-- 添加或修改装运对话框 -->
4
- <el-dialog :title="title" :visible.sync="open" width="80%" append-to-body :before-close="handleClose">
4
+ <el-dialog :title="title" :visible.sync="open" width="80%" :before-close="handleClose">
5
5
  <el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="80px">
6
6
  <el-row>
7
7
  <el-col :span="6">
@@ -93,6 +93,11 @@
93
93
  </el-select>
94
94
  </el-form-item>
95
95
  </el-col>
96
+ <el-col :span="8">
97
+ <el-form-item label="ETA更新" prop="etaUpdateOn" label-width="100">
98
+ <el-switch v-model="form.etaUpdateOn" active-text="自动" inactive-text="手动"> </el-switch>
99
+ </el-form-item>
100
+ </el-col>
96
101
  </el-row>
97
102
  <el-table stripe :data="contractDetailList" border>
98
103
  <el-table-column label="序号" type="index" align="center"></el-table-column>
@@ -147,14 +152,14 @@
147
152
  </el-col>
148
153
  <el-col :span="8">
149
154
  <el-form-item label="集装箱皮重(kg)" :prop="'containerList.' + index + '.containerTareWeight'" :rules="subrules.containerTareWeight" label-width="120px">
150
- <el-input v-model="dt.containerTareWeight" placeholder="请输入" size="mini"></el-input>
155
+ <el-input v-model="dt.containerTareWeight" placeholder="请输入" size="mini" type="number"></el-input>
151
156
  </el-form-item>
152
157
  </el-col>
153
158
  </el-row>
154
159
  <el-row>
155
160
  <el-col :span="6">
156
161
  <el-form-item label="总货物毛重(t)" :prop="'containerList.' + index + '.totalGoodsGrossWeight'" :rules="subrules.totalGoodsGrossWeight" label-width="105px">
157
- <el-input v-if="editSwitch" size="mini" v-model="dt.totalGoodsGrossWeight"></el-input>
162
+ <el-input v-if="editSwitch" size="mini" v-model="dt.totalGoodsGrossWeight" type="number"></el-input>
158
163
  <div v-else>
159
164
  {{ dt.totalGoodsGrossWeight ? dt.totalGoodsGrossWeight : '自动计算' }}
160
165
  </div>
@@ -162,7 +167,7 @@
162
167
  </el-col>
163
168
  <el-col :span="6">
164
169
  <el-form-item label="总货物皮重(t)" :prop="'containerList.' + index + '.totalGoodsTareWeight'" :rules="subrules.totalGoodsTareWeight" label-width="105px">
165
- <el-input v-if="editSwitch" size="mini" v-model="dt.totalGoodsTareWeight"></el-input>
170
+ <el-input v-if="editSwitch" size="mini" v-model="dt.totalGoodsTareWeight" type="number"></el-input>
166
171
  <div v-else>
167
172
  {{ dt.totalGoodsTareWeight ? dt.totalGoodsTareWeight : '自动计算' }}
168
173
  </div>
@@ -170,7 +175,7 @@
170
175
  </el-col>
171
176
  <el-col :span="6">
172
177
  <el-form-item label="总货物净重(t)" :prop="'containerList.' + index + '.totalGoodsNetWeight'" :rules="subrules.totalGoodsNetWeight" label-width="105px">
173
- <el-input v-if="editSwitch" size="mini" v-model="dt.totalGoodsNetWeight"></el-input>
178
+ <el-input v-if="editSwitch" size="mini" v-model="dt.totalGoodsNetWeight" type="number"></el-input>
174
179
  <div v-else>
175
180
  {{ dt.totalGoodsNetWeight ? dt.totalGoodsNetWeight : '自动计算' }}
176
181
  </div>
@@ -202,7 +207,8 @@
202
207
  v-model="scope2.row.packageGrossWeight"
203
208
  placeholder="请输入毛重"
204
209
  size="mini"
205
- @change="changePackageGrossWeight(index, scope1.$index, scope2.$index)"
210
+ type="number"
211
+ @input="changePackageGrossWeight(index, scope1.$index, scope2.$index)"
206
212
  ></el-input>
207
213
  </el-form-item>
208
214
  </template>
@@ -220,7 +226,8 @@
220
226
  v-model="scope2.row.packageTareWeight"
221
227
  placeholder="请输入皮重"
222
228
  size="mini"
223
- @change="changePackageTareWeight(index, scope1.$index, scope2.$index)"
229
+ type="number"
230
+ @input="changePackageTareWeight(index, scope1.$index, scope2.$index)"
224
231
  ></el-input>
225
232
  </el-form-item>
226
233
  </template>
@@ -234,7 +241,7 @@
234
241
  :rules="rules.packageNetWeight"
235
242
  :prop="'containerList.' + index + '.containerDetailList.' + scope1.$index + '.packageList.' + scope2.$index + '.packageNetWeight'"
236
243
  >
237
- <el-input v-model="scope2.row.packageNetWeight" placeholder="请输入净重" size="mini"></el-input>
244
+ <el-input v-model="scope2.row.packageNetWeight" placeholder="请输入净重" size="mini" type="number"></el-input>
238
245
  </el-form-item>
239
246
  </template>
240
247
  </el-table-column>
@@ -348,7 +355,7 @@
348
355
  :prop="'containerList.' + index + '.containerDetailList.' + scope.$index + '.goodsNumber'"
349
356
  :rules="subrules.goodsNumber"
350
357
  >
351
- <el-input v-model="scope.row.goodsNumber" size="small" @change="changeTotalGoodsNumber(index)"></el-input>
358
+ <el-input v-model="scope.row.goodsNumber" size="small" @change="changeTotalGoodsNumber(index)" type="number"></el-input>
352
359
  </el-form-item>
353
360
  </template>
354
361
  </el-table-column>
@@ -388,7 +395,7 @@
388
395
  <el-button @click="cancel">取 消</el-button>
389
396
  </div>
390
397
 
391
- <div style="display: flex; justify-content: center; align-items: center">
398
+ <div style="display: flex; justify-content: center; align-items: center" v-if="title == '修改装运'">
392
399
  <ul>
393
400
  按钮说明
394
401
  <ul>
@@ -488,7 +495,9 @@ export default {
488
495
  actualArrivalDate: null
489
496
  },
490
497
  // 表单参数
491
- form: {},
498
+ form: {
499
+ etaUpdateOn: true
500
+ },
492
501
  // 表单校验
493
502
  rules: {
494
503
  billOfLadingNo: [{ required: true, message: '提单号不能为空', trigger: 'blur' }],
@@ -627,6 +636,21 @@ export default {
627
636
  this.form.containerList[index].totalGoodsGrossWeight = this.form.containerList[index].containerDetailList.reduce((total, item) => {
628
637
  return total + Number(item.goodsGrossWeight)
629
638
  }, 0)
639
+ //计算净重
640
+ this.form.containerList[index].containerDetailList[k].packageList[yindex].packageNetWeight = (
641
+ this.form.containerList[index].containerDetailList[k].packageList[yindex].packageGrossWeight -
642
+ this.form.containerList[index].containerDetailList[k].packageList[yindex].packageTareWeight
643
+ ).toFixed(3)
644
+
645
+ this.form.containerList[index].containerDetailList[k].goodsNetWeight = this.form.containerList[index].containerDetailList[k].packageList.reduce((total, item) => {
646
+ return total + Number(item.packageNetWeight)
647
+ }, 0)
648
+
649
+ this.form.containerList[index].totalGoodsNetWeight = this.form.containerList[index].containerDetailList
650
+ .reduce((total, item) => {
651
+ return total + Number(item.goodsNetWeight)
652
+ }, 0)
653
+ .toFixed(3)
630
654
  },
631
655
  changePackageTareWeight(index, k, yindex) {
632
656
  //计算皮重
@@ -766,6 +790,7 @@ export default {
766
790
  createTime: null,
767
791
  updateTime: null,
768
792
  containerList: [],
793
+ etaUpdateOn: true,
769
794
  loadingTime: this.utc2local(new Date(), 'yyyy-MM-DD HH:mm:ss')
770
795
  }
771
796
  this.contract = {
@@ -981,31 +1006,38 @@ export default {
981
1006
  submitShipment() {
982
1007
  this.$refs['form'].validate((valid) => {
983
1008
  if (valid) {
984
- this.open = false
1009
+ let loadingInstance = Loading.service({
1010
+ text: '请稍候',
1011
+ spinner: 'el-icon-loading',
1012
+ background: 'rgba(0, 0, 0, 0.7)',
1013
+ customClass: 'custom-loading-class'
1014
+ })
985
1015
  if (this.form.shipmentId == null) {
986
- let loadingInstance = Loading.service({
987
- text: '请稍候',
988
- spinner: 'el-icon-loading',
989
- background: 'rgba(0, 0, 0, 0.7)'
990
- })
991
1016
  addWithContainer(this.form).then((response) => {
992
- loadingInstance.close()
993
- this.$confirm('装运已生成!您可以点击“确认”按钮留在当前页面,或点击“去看看”按钮查看详细信息。', {
994
- confirmButtonText: '确定',
995
- cancelButtonText: '去看看',
996
- type: 'warning'
997
- })
998
- .then(() => {})
999
- .catch(() => {
1000
- this.$router.push({
1001
- name: 'BizShipment',
1002
- params: { viewDetailFlag: true }
1003
- })
1017
+ if (response.code == 200) {
1018
+ this.open = false
1019
+ loadingInstance.close()
1020
+ this.$confirm('装运已生成!您可以点击“确认”按钮留在当前页面,或点击“去看看”按钮查看详细信息。', {
1021
+ confirmButtonText: '确定',
1022
+ cancelButtonText: '去看看',
1023
+ type: 'warning'
1004
1024
  })
1005
- this.$emit('refresh')
1025
+ .then(() => {})
1026
+ .catch(() => {
1027
+ this.$router.push({
1028
+ name: 'BizShipment',
1029
+ params: { viewDetailFlag: true }
1030
+ })
1031
+ })
1032
+ this.$emit('refresh')
1033
+ } else {
1034
+ loadingInstance.close()
1035
+ }
1006
1036
  })
1007
1037
  } else {
1008
1038
  updateWithContainer(this.form).then((res) => {
1039
+ loadingInstance.close()
1040
+ this.open = false
1009
1041
  this.$modal.msgSuccess('修改成功')
1010
1042
  this.$emit('refresh')
1011
1043
  })
@@ -1021,25 +1053,34 @@ export default {
1021
1053
  submitAndDownload(templateType) {
1022
1054
  this.$refs['form'].validate((valid) => {
1023
1055
  if (valid) {
1024
- this.open = false
1025
1056
  let loadingInstance = Loading.service({
1026
1057
  text: '请稍候',
1027
1058
  spinner: 'el-icon-loading',
1028
- background: 'rgba(0, 0, 0, 0.7)'
1059
+ background: 'rgba(0, 0, 0, 0.7)',
1060
+ customClass: 'custom-loading-class'
1029
1061
  })
1030
- addWithContainer(this.form).then((res) => {
1031
- loadingInstance.close()
1032
- var query = {}
1033
- query.orderByColumn = 'shipmentId'
1034
- query.isAsc = 'desc'
1035
- query.pageNum = 1
1036
- query.pageSize = 1
1037
- listBizShipment(query).then((res) => {
1038
- var shipment = res.rows[0]
1039
- this.handleDownloadShipment(shipment, templateType)
1062
+ addWithContainer(this.form)
1063
+ .then((res) => {
1064
+ if (res.code == 200) {
1065
+ var query = {}
1066
+ query.orderByColumn = 'shipmentId'
1067
+ query.isAsc = 'desc'
1068
+ query.pageNum = 1
1069
+ query.pageSize = 1
1070
+ listBizShipment(query).then((res) => {
1071
+ var shipment = res.rows[0]
1072
+ this.handleDownloadShipment(shipment, templateType)
1073
+ })
1074
+ this.$emit('refresh')
1075
+ this.open = false
1076
+ loadingInstance.close()
1077
+ } else {
1078
+ loadingInstance.close()
1079
+ }
1080
+ })
1081
+ .finally(() => {
1082
+ loadingInstance.close()
1040
1083
  })
1041
- this.$emit('refresh')
1042
- })
1043
1084
  }
1044
1085
  })
1045
1086
  },
@@ -1065,26 +1106,42 @@ export default {
1065
1106
  submitForm() {
1066
1107
  this.$refs['form'].validate((valid) => {
1067
1108
  if (valid) {
1068
- this.open = false
1109
+ let loadingInstance = Loading.service({
1110
+ text: '请稍候',
1111
+ spinner: 'el-icon-loading',
1112
+ background: 'rgba(0, 0, 0, 0.7)',
1113
+ customClass: 'custom-loading-class'
1114
+ })
1069
1115
  if (this.form.shipmentId == null) {
1070
- addWithContainer(this.form).then((response) => {
1071
- this.$modal.msgSuccess('生成成功')
1072
- var query = {}
1073
- query.orderByColumn = 'shipmentId'
1074
- query.isAsc = 'desc'
1075
- query.pageNum = 1
1076
- query.pageSize = 10
1077
- if (this.contract.contractType == 'sale') {
1078
- query.saleContractId = this.contract.contractId
1079
- } else {
1080
- query.purchaseContractId = this.contract.contractId
1081
- }
1082
- listBizShipment(query).then((res) => {
1083
- var shipment = res.rows[0]
1084
- this.handleGenerateFinalInvoice(shipment)
1116
+ addWithContainer(this.form)
1117
+ .then((response) => {
1118
+ if (response.code == 200) {
1119
+ this.open = false
1120
+ this.$modal.msgSuccess('生成成功')
1121
+ var query = {}
1122
+ query.orderByColumn = 'shipmentId'
1123
+ query.isAsc = 'desc'
1124
+ query.pageNum = 1
1125
+ query.pageSize = 10
1126
+ if (this.contract.contractType == 'sale') {
1127
+ query.saleContractId = this.contract.contractId
1128
+ } else {
1129
+ query.purchaseContractId = this.contract.contractId
1130
+ }
1131
+ listBizShipment(query).then((res) => {
1132
+ var shipment = res.rows[0]
1133
+ this.handleGenerateFinalInvoice(shipment)
1134
+ })
1135
+ } else {
1136
+ loadingInstance.close()
1137
+ }
1138
+ })
1139
+ .finally(() => {
1140
+ loadingInstance.close()
1085
1141
  })
1086
- })
1087
1142
  } else {
1143
+ loadingInstance.close()
1144
+ this.open = false
1088
1145
  this.$emit('openGenerateLive', { ...this.form, quoteType: this.contract.quoteType })
1089
1146
  }
1090
1147
  }
@@ -1139,3 +1196,11 @@ export default {
1139
1196
  border-radius: 4px;
1140
1197
  }
1141
1198
  </style>
1199
+ <style lang="scss">
1200
+ .el-loading-mask.custom-loading-class.is-fullscreen {
1201
+ z-index: 3000 !important;
1202
+ }
1203
+ .el-message.el-message--error {
1204
+ z-index: 3001 !important;
1205
+ }
1206
+ </style>