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.
- package/README.md +18 -7
- package/package.json +1 -1
- package/packages/index.js +7 -0
- package/packages/src/api/biz/bizContract.js +980 -1
- package/packages/src/api/biz/bizContractCompany.js +1 -1
- package/packages/src/api/biz/bizFileInfo.js +16 -0
- package/packages/src/api/biz/bizInvoice.js +1 -1
- package/packages/src/assets/images/click-show-table.png +0 -0
- package/packages/src/assets/images/more.png +0 -0
- package/packages/src/assets/images/pdf-new.png +0 -0
- package/packages/src/components/FileUpload/contract-drag-new.vue +99 -10
- package/packages/src/i18n/en/message.json +297 -0
- package/packages/src/i18n/index.js +38 -0
- package/packages/src/i18n/zh-CN/message.json +297 -0
- package/packages/src/index.js +6 -0
- package/packages/src/utils/index.js +35 -0
- package/packages/src/utils/request.js +120 -146
- package/packages/src/views/biz/bizFileInfo/PAYMENT_VOUCHER(/"payment_voucher/", /"/344/273/230/346/254/276/345/207/255/350/257/201.ini" +222 -0
- package/packages/src/views/biz/bizFileInfo/contract copy.vue +1711 -0
- package/packages/src/views/biz/bizFileInfo/contract.vue +1676 -998
- package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +114 -0
- package/packages/src/views/biz/bizFileInfo/contractFile/ContentTitle.vue +102 -0
- package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +308 -0
- package/packages/src/views/biz/bizFileInfo/contractFile/Progress.vue +85 -0
- package/packages/src/views/biz/bizFileInfo/contractFile/ProgressDetail.vue +122 -0
- package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +83 -0
- package/packages/src/views/biz/bizFileInfo/contractFile/ShowAndHide.vue +178 -0
- package/packages/src/views/biz/bizFileInfo/fileShow copy.vue +321 -0
- package/packages/src/views/biz/bizFileInfo/fileShow.vue +131 -46
- package/packages/src/views/biz/bizFileInfo/fileShowClaim.vue +1 -1
- package/packages/src/views/biz/bizShipment/add.vue +126 -61
- package/packages/src/views/biz/contractTracing/addSubCompany.vue +106 -169
- package/packages/src/views/biz/contractTracing/billInfo.vue +150 -315
- package/packages/src/views/biz/contractTracing/companyBanks.vue +228 -0
- package/packages/src/views/biz/contractTracing/contractPdf.vue +5 -3
- package/packages/src/views/biz/contractTracing/contractSummary.vue +286 -629
- package/packages/src/views/biz/contractTracing/contractTracingDetail copy.vue +107 -0
- package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +204 -7
- package/packages/src/views/biz/contractTracing/editBill.vue +219 -359
- package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +153 -7
- package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +8 -2
- package/packages/src/views/biz/contractTracing/subCompanyDialog.vue +203 -176
- package/packages/src/views/test.vue +3 -3
- package/packages/src/views/biz/contractTracing/association.vue +0 -189
- package/packages/src/views/biz/contractTracing/chargingDialog.vue +0 -84
- package/packages/src/views/biz/contractTracing/contract.vue +0 -1276
- package/packages/src/views/biz/contractTracing/disputeRecord.vue +0 -311
- package/packages/src/views/biz/contractTracing/edit.vue +0 -205
- package/packages/src/views/biz/contractTracing/sendDrafEmail.vue +0 -120
- package/packages/src/views/biz/contractTracing/shipment.vue +0 -601
|
@@ -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"
|
|
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.
|
|
8
|
-
<el-image style="width:
|
|
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
|
-
<
|
|
11
|
-
<
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
176
|
-
|
|
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
|
|
211
|
-
this.handleDelete(this.fileInfo)
|
|
212
|
-
break
|
|
213
|
-
case
|
|
214
|
-
this.handleUpdate(this.fileInfo)
|
|
215
|
-
break
|
|
216
|
-
case
|
|
217
|
-
this
|
|
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:
|
|
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(
|
|
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%"
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
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
|
-
|
|
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)
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
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
|
-
|
|
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)
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
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>
|