doctor-admin-components 1.0.14-beta.1 → 1.0.14-beta.11
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 +6 -1
- package/package.json +1 -1
- package/packages/index.js +0 -1
- package/packages/src/api/biz/bizShipment.js +20 -0
- package/packages/src/utils/MycommonUtil.js +12 -0
- package/packages/src/views/biz/bizFileInfo/contract.vue +447 -335
- package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +9 -7
- package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +22 -6
- package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +11 -3
- package/packages/src/views/biz/bizFileInfo/fileShow.vue +11 -3
- package/packages/src/views/biz/bizShipment/add.vue +58 -10
- package/packages/src/views/biz/contractTracing/contractPdf.vue +3 -1
- package/packages/src/views/biz/contractTracing/contractSummary.vue +7 -1
- package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +3 -75
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
-->
|
|
9
9
|
<template>
|
|
10
10
|
<div class="bill-no-root" :style="open ? 'height:max-content': ''">
|
|
11
|
-
<div :class="'bill-no'" :style="shipmentIndex == shipBillNo ? { color: progressInfo.bgcolor } : ''" v-for="(
|
|
11
|
+
<div :class="'bill-no'" :style="shipmentIndex == shipBillNo ? { color:'white', fontSize: '16px', backgroundColor: progressInfo.bgcolor, border: '0' } : { color: '#231F20', fontSize: '14px', border: '1px solid #231F20', backgroundColor:'transparent' }" v-for="(
|
|
12
12
|
shipmentFileInfo, shipmentIndex
|
|
13
13
|
) in contractFileInfoData.shipmentFileInfoList" :key="shipmentIndex" @click="changeShipBillNo(shipmentIndex)">
|
|
14
14
|
|
|
@@ -81,10 +81,9 @@ export default {
|
|
|
81
81
|
.bill-no-root {
|
|
82
82
|
display: flex;
|
|
83
83
|
flex-wrap: wrap;
|
|
84
|
-
padding:0 20px;
|
|
85
84
|
width:100%;
|
|
86
85
|
position:relative;
|
|
87
|
-
height:
|
|
86
|
+
height:55px;
|
|
88
87
|
overflow:hidden;
|
|
89
88
|
|
|
90
89
|
.billOfLadingNo-more {
|
|
@@ -99,11 +98,14 @@ export default {
|
|
|
99
98
|
}
|
|
100
99
|
|
|
101
100
|
.bill-no {
|
|
102
|
-
width:23%;
|
|
103
101
|
font-size: 14px;
|
|
104
|
-
color: #
|
|
105
|
-
padding:
|
|
106
|
-
|
|
102
|
+
color: #231F20;
|
|
103
|
+
padding: 0 10px;
|
|
104
|
+
height: 40px;
|
|
105
|
+
align-content: center;
|
|
106
|
+
border-radius: 8px;
|
|
107
|
+
margin-right: 30px;
|
|
108
|
+
margin-bottom: 15px;
|
|
107
109
|
}
|
|
108
110
|
|
|
109
111
|
.bill-no-active {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
|
|
3
3
|
* @Date: 2024-02-26 10:03:01
|
|
4
4
|
* @LastEditors: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
|
|
5
|
-
* @LastEditTime: 2024-
|
|
5
|
+
* @LastEditTime: 2024-07-25 18:37:49
|
|
6
6
|
* @FilePath: /doctor-admin-components 公共组件/packages/src/views/biz/bizFileInfo/IMGPreviewCheckBox.vue
|
|
7
7
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
8
8
|
-->
|
|
@@ -64,7 +64,8 @@ export default {
|
|
|
64
64
|
imgList: [],
|
|
65
65
|
srcList:[],
|
|
66
66
|
loadingInstance: null,
|
|
67
|
-
timer: null
|
|
67
|
+
timer: null,
|
|
68
|
+
hasClicked: false,
|
|
68
69
|
};
|
|
69
70
|
},
|
|
70
71
|
|
|
@@ -87,6 +88,17 @@ export default {
|
|
|
87
88
|
checkClick(index) {
|
|
88
89
|
this.imgList[index].checked = !this.imgList[index].checked;
|
|
89
90
|
},
|
|
91
|
+
clickSelectAll() {
|
|
92
|
+
this.hasClicked = !this.hasClicked
|
|
93
|
+
if (this.hasClicked) {
|
|
94
|
+
this.checkAll1()
|
|
95
|
+
} else {
|
|
96
|
+
this.cancelAll1()
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
hasSelectAll() {
|
|
100
|
+
return !this.hasClicked
|
|
101
|
+
},
|
|
90
102
|
checkAll1() {
|
|
91
103
|
this.imgList.forEach((item) => {
|
|
92
104
|
item.checked = true;
|
|
@@ -192,9 +204,9 @@ export default {
|
|
|
192
204
|
watch: {
|
|
193
205
|
imgArr: {
|
|
194
206
|
handler(val) {
|
|
207
|
+
this.imgList = [];
|
|
208
|
+
this.srcList = [];
|
|
195
209
|
if(val.length) {
|
|
196
|
-
this.imgList = [];
|
|
197
|
-
this.srcList = [];
|
|
198
210
|
val.forEach((item) => {
|
|
199
211
|
let coverUrl = this.othersFile(item.url)
|
|
200
212
|
this.imgList.push({
|
|
@@ -204,6 +216,9 @@ export default {
|
|
|
204
216
|
});
|
|
205
217
|
this.srcList.push(coverUrl);
|
|
206
218
|
});
|
|
219
|
+
} else {
|
|
220
|
+
this.imgList = []
|
|
221
|
+
this.srcList = []
|
|
207
222
|
}
|
|
208
223
|
},
|
|
209
224
|
deep: true,
|
|
@@ -288,7 +303,7 @@ export default {
|
|
|
288
303
|
.batch-download {
|
|
289
304
|
position: absolute;
|
|
290
305
|
top: -41px;
|
|
291
|
-
left:
|
|
306
|
+
left: 650px;
|
|
292
307
|
min-width: 80px;
|
|
293
308
|
width:max-content;
|
|
294
309
|
padding:0 10px;
|
|
@@ -297,11 +312,12 @@ export default {
|
|
|
297
312
|
text-align: center;
|
|
298
313
|
border-radius: 10px;
|
|
299
314
|
background-color: #54B8FF;
|
|
315
|
+
color: white;
|
|
300
316
|
cursor: pointer;
|
|
301
317
|
font-size:12px;
|
|
302
318
|
}
|
|
303
319
|
.batch-delete {
|
|
304
|
-
left:
|
|
320
|
+
left: 740px;
|
|
305
321
|
}
|
|
306
322
|
}
|
|
307
323
|
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
-->
|
|
9
9
|
<template>
|
|
10
10
|
<div>
|
|
11
|
-
<div>
|
|
11
|
+
<div @click="clickOpen">
|
|
12
12
|
<slot name="header"></slot>
|
|
13
13
|
</div>
|
|
14
14
|
<div class="slot-content-root" :style="{backgroundColor:info.bgcolor}">
|
|
15
15
|
<div :style="open ? 'height:max-content' : 'height:0;overflow:hidden'">
|
|
16
16
|
<slot name="content"></slot>
|
|
17
17
|
</div>
|
|
18
|
-
<div class="arrow" @click="
|
|
18
|
+
<div class="arrow" @click="clickOpen">
|
|
19
19
|
<i v-if="open" class="el-icon-arrow-up"></i>
|
|
20
20
|
<i v-else class="el-icon-arrow-down"></i>
|
|
21
21
|
</div>
|
|
@@ -46,7 +46,14 @@ export default {
|
|
|
46
46
|
},
|
|
47
47
|
|
|
48
48
|
methods: {
|
|
49
|
-
|
|
49
|
+
// 设置状态
|
|
50
|
+
setOpen(isOpen) {
|
|
51
|
+
this.open = isOpen
|
|
52
|
+
},
|
|
53
|
+
clickOpen() {
|
|
54
|
+
this.open = !this.open
|
|
55
|
+
this.$emit('updateOpen', this.open)
|
|
56
|
+
}
|
|
50
57
|
},
|
|
51
58
|
watch: {
|
|
52
59
|
infoPro: {
|
|
@@ -64,6 +71,7 @@ export default {
|
|
|
64
71
|
|
|
65
72
|
.slot-content-root {
|
|
66
73
|
padding-bottom:25px;
|
|
74
|
+
margin-bottom: 30px;
|
|
67
75
|
background-color: #fff;
|
|
68
76
|
position: relative;
|
|
69
77
|
.arrow {
|
|
@@ -1,7 +1,7 @@
|
|
|
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="" class="checkbox-position" @change="handleCheck" v-model="checkFlag">
|
|
4
|
+
<el-checkbox v-if="!this.hiddenOperation && !hiddenSelect" label="" class="checkbox-position" @change="handleCheck" v-model="checkFlag">
|
|
5
5
|
</el-checkbox>
|
|
6
6
|
<div class="area">
|
|
7
7
|
<div class="area-info">
|
|
@@ -109,10 +109,18 @@ export default {
|
|
|
109
109
|
type: Boolean,
|
|
110
110
|
default: false,
|
|
111
111
|
},
|
|
112
|
+
hiddenSelect: {
|
|
113
|
+
type: Boolean,
|
|
114
|
+
default: false,
|
|
115
|
+
},
|
|
112
116
|
type: {
|
|
113
117
|
type: String,
|
|
114
118
|
default: '',
|
|
115
119
|
},
|
|
120
|
+
deleteTips: {
|
|
121
|
+
type: String,
|
|
122
|
+
default: null,
|
|
123
|
+
},
|
|
116
124
|
},
|
|
117
125
|
data() {
|
|
118
126
|
return {
|
|
@@ -129,7 +137,7 @@ export default {
|
|
|
129
137
|
form: {},
|
|
130
138
|
//上传表单
|
|
131
139
|
uploadForm: {},
|
|
132
|
-
checkFlag: false
|
|
140
|
+
checkFlag: false,
|
|
133
141
|
}
|
|
134
142
|
},
|
|
135
143
|
computed: {
|
|
@@ -203,7 +211,7 @@ export default {
|
|
|
203
211
|
handleDelete(row) {
|
|
204
212
|
const fileIds = row.fileId || this.ids
|
|
205
213
|
this.$modal
|
|
206
|
-
.confirm('是否确认删除该文件?')
|
|
214
|
+
.confirm(this.deleteTips || '是否确认删除该文件?')
|
|
207
215
|
.then(function () {
|
|
208
216
|
return delBizFileInfo(fileIds)
|
|
209
217
|
})
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="app-container">
|
|
3
3
|
<!-- 添加或修改装运对话框 -->
|
|
4
|
-
<el-dialog :visible.sync="open" z-index="1000" width="80%" :before-close="handleClose">
|
|
4
|
+
<el-dialog :visible.sync="open" z-index="1000" width="80%" :before-close="handleClose" :title="title">
|
|
5
5
|
<slot name="">
|
|
6
|
-
<span
|
|
6
|
+
<span v-if="isDraft" style="color: red">提示: 当前打开了【{{ form.lastUpdateUserName }}】在【{{ form.updateTime }}】保存的装运草稿</span>
|
|
7
7
|
<span v-if="voidInvoiceList" style="color: red">【快捷转卖】:系统检测到此销售合同关联的采购合同存在【已作废】的装运,</span>
|
|
8
8
|
<el-button v-if="voidInvoiceList" @click="handleReference" size="mini" type="text">点击这里直接复制并引用</el-button>
|
|
9
9
|
</slot>
|
|
@@ -17,13 +17,11 @@
|
|
|
17
17
|
</el-select>
|
|
18
18
|
</el-form-item>
|
|
19
19
|
</el-col>
|
|
20
|
-
|
|
21
20
|
<el-col :span="6">
|
|
22
21
|
<el-form-item label="订舱号" prop="bookingNo">
|
|
23
22
|
<el-input v-model="form.bookingNo" placeholder="请输入订舱号" size="small" />
|
|
24
23
|
</el-form-item>
|
|
25
24
|
</el-col>
|
|
26
|
-
|
|
27
25
|
<el-col :span="6">
|
|
28
26
|
<el-form-item label="提单号" prop="billOfLadingNo">
|
|
29
27
|
<el-input v-model="form.billOfLadingNo" placeholder="请输入提单号" size="small" />
|
|
@@ -214,7 +212,7 @@
|
|
|
214
212
|
placeholder="请输入毛重"
|
|
215
213
|
size="mini"
|
|
216
214
|
type="number"
|
|
217
|
-
@input="
|
|
215
|
+
@input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row, 'packageGrossWeight')"
|
|
218
216
|
></el-input>
|
|
219
217
|
</el-form-item>
|
|
220
218
|
</template>
|
|
@@ -233,7 +231,7 @@
|
|
|
233
231
|
placeholder="请输入皮重"
|
|
234
232
|
size="mini"
|
|
235
233
|
type="number"
|
|
236
|
-
@input="
|
|
234
|
+
@input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row, 'packageTareWeight')"
|
|
237
235
|
></el-input>
|
|
238
236
|
</el-form-item>
|
|
239
237
|
</template>
|
|
@@ -247,7 +245,13 @@
|
|
|
247
245
|
:rules="rules.packageNetWeight"
|
|
248
246
|
:prop="'containerList.' + index + '.containerDetailList.' + scope1.$index + '.packageList.' + scope2.$index + '.packageNetWeight'"
|
|
249
247
|
>
|
|
250
|
-
<el-input
|
|
248
|
+
<el-input
|
|
249
|
+
v-model="scope2.row.packageNetWeight"
|
|
250
|
+
placeholder="请输入净重"
|
|
251
|
+
size="mini"
|
|
252
|
+
type="number"
|
|
253
|
+
@input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row, 'packageNetWeight')"
|
|
254
|
+
></el-input>
|
|
251
255
|
</el-form-item>
|
|
252
256
|
</template>
|
|
253
257
|
</el-table-column>
|
|
@@ -387,6 +391,7 @@
|
|
|
387
391
|
</el-row>
|
|
388
392
|
</el-form>
|
|
389
393
|
<div slot="footer" class="dialog-footer">
|
|
394
|
+
<el-button type="warning" @click="onSaveDraft" style="margin-right: 10px" v-if="title === '生成装运'">保存草稿</el-button>
|
|
390
395
|
<el-button type="primary" @click="submitShipment" style="margin-right: 10px">{{ title == '生成装运' ? '仅生成装运' : '保存草稿' }}</el-button>
|
|
391
396
|
<el-dropdown @command="(command) => handleTemplate(command)" trigger="click" v-if="title == '生成装运'" style="margin-right: 10px">
|
|
392
397
|
<el-button type="primary">{{ '装运并下载' }}</el-button>
|
|
@@ -448,7 +453,9 @@ import {
|
|
|
448
453
|
addWithContainer,
|
|
449
454
|
addContainerCheck,
|
|
450
455
|
updateWithContainer,
|
|
451
|
-
updateWithContainerAndInvoice
|
|
456
|
+
updateWithContainerAndInvoice,
|
|
457
|
+
saveDraft,
|
|
458
|
+
getDraft
|
|
452
459
|
} from '../../../api/biz/bizShipment'
|
|
453
460
|
import { generateFinalInvoiceByShipmentId } from '../../../api/biz/bizInvoice'
|
|
454
461
|
import { updateBizContractDetail } from '../../../api/biz/bizContractDetail'
|
|
@@ -547,7 +554,8 @@ export default {
|
|
|
547
554
|
//编辑开关
|
|
548
555
|
editSwitch: false,
|
|
549
556
|
//
|
|
550
|
-
currentRow: null
|
|
557
|
+
currentRow: null,
|
|
558
|
+
isDraft: false
|
|
551
559
|
}
|
|
552
560
|
},
|
|
553
561
|
props: {
|
|
@@ -672,6 +680,23 @@ export default {
|
|
|
672
680
|
return total + Number(item.goodsNumber)
|
|
673
681
|
}, 0)
|
|
674
682
|
},
|
|
683
|
+
|
|
684
|
+
limitDecimalPlaces(index, scope1Index, scope2Index, data, type) {
|
|
685
|
+
let value = data[type]
|
|
686
|
+
const decimalPlaces = 3
|
|
687
|
+
if (!isNaN(value)) {
|
|
688
|
+
value = parseFloat(value).toFixed(decimalPlaces)
|
|
689
|
+
value = parseFloat(value).toString()
|
|
690
|
+
data[type] = value
|
|
691
|
+
}
|
|
692
|
+
if (type == 'packageGrossWeight') {
|
|
693
|
+
this.changePackageGrossWeight(index, scope1Index, scope2Index)
|
|
694
|
+
} else if (type == 'packageTareWeight') {
|
|
695
|
+
this.changePackageTareWeight(index, scope1Index, scope2Index)
|
|
696
|
+
} else if (type == 'packageNetWeight') {
|
|
697
|
+
}
|
|
698
|
+
},
|
|
699
|
+
|
|
675
700
|
changePackageGrossWeight(index, k, yindex) {
|
|
676
701
|
this.form.containerList[index].containerDetailList[k].goodsGrossWeight = this.form.containerList[index].containerDetailList[k].packageList.reduce((total, item) => {
|
|
677
702
|
return total + Number(item.packageGrossWeight)
|
|
@@ -890,7 +915,6 @@ export default {
|
|
|
890
915
|
/** 新增按钮操作 */
|
|
891
916
|
handleAdd(contractDetailList, destinationPort, contract) {
|
|
892
917
|
this.reset()
|
|
893
|
-
console.log(contract)
|
|
894
918
|
if (contract.contractType == 'purchase') {
|
|
895
919
|
this.$modal.msgError('请选择销售合同')
|
|
896
920
|
return
|
|
@@ -946,6 +970,7 @@ export default {
|
|
|
946
970
|
haveVoidShipment(contract.contractId).then((res) => {
|
|
947
971
|
this.voidInvoiceList = res.rows && res.rows.length > 0 ? res.rows : null
|
|
948
972
|
})
|
|
973
|
+
this.onGetDraft()
|
|
949
974
|
// 测试数据
|
|
950
975
|
// this.voidInvoiceList = [{'contractId': '1', 'contractNo':'合同号1'}]
|
|
951
976
|
},
|
|
@@ -1269,6 +1294,29 @@ export default {
|
|
|
1269
1294
|
},
|
|
1270
1295
|
`bizShipment_${new Date().getTime()}.xlsx`
|
|
1271
1296
|
)
|
|
1297
|
+
},
|
|
1298
|
+
async onSaveDraft() {
|
|
1299
|
+
if (this.form.contractIds) {
|
|
1300
|
+
this.form.contractId = this.form.contractIds[0]
|
|
1301
|
+
}
|
|
1302
|
+
const res = await saveDraft(this.form)
|
|
1303
|
+
if (res.code === 200) {
|
|
1304
|
+
this.$message.success('保存成功')
|
|
1305
|
+
} else {
|
|
1306
|
+
this.$message.error(res.message)
|
|
1307
|
+
}
|
|
1308
|
+
},
|
|
1309
|
+
async onGetDraft() {
|
|
1310
|
+
if (this.form.contractIds) {
|
|
1311
|
+
const contractId = this.form.contractIds[0]
|
|
1312
|
+
const res = await getDraft(contractId)
|
|
1313
|
+
if (res.data) {
|
|
1314
|
+
this.isDraft = true
|
|
1315
|
+
this.form = res.data
|
|
1316
|
+
} else {
|
|
1317
|
+
this.isDraft = false
|
|
1318
|
+
}
|
|
1319
|
+
}
|
|
1272
1320
|
}
|
|
1273
1321
|
}
|
|
1274
1322
|
}
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
>
|
|
43
43
|
<el-table-column label="Description" align="center" prop="askName"></el-table-column>
|
|
44
44
|
<el-table-column label="Quantity" align="center" prop="weight">
|
|
45
|
-
<template slot-scope="scope">{{ scope.row.weight }}MT</template>
|
|
45
|
+
<template slot-scope="scope">{{ CommonFormatNumber(scope.row.weight) }}MT</template>
|
|
46
46
|
</el-table-column>
|
|
47
47
|
<el-table-column label="Unit Price/MT" align="center" width="200">
|
|
48
48
|
<template slot-scope="{ row }">
|
|
@@ -193,6 +193,7 @@
|
|
|
193
193
|
|
|
194
194
|
<script>
|
|
195
195
|
import { exportPdf } from '../../../utils/pdf'
|
|
196
|
+
import { CommonFormatNumber } from '../../../utils/MycommonUtil'
|
|
196
197
|
|
|
197
198
|
export default {
|
|
198
199
|
name: 'ContractPdf',
|
|
@@ -262,6 +263,7 @@ export default {
|
|
|
262
263
|
},
|
|
263
264
|
created() {},
|
|
264
265
|
methods: {
|
|
266
|
+
CommonFormatNumber,
|
|
265
267
|
//设置打印model为true
|
|
266
268
|
setPrintModel(val) {
|
|
267
269
|
this.printModel = val
|
|
@@ -168,7 +168,11 @@
|
|
|
168
168
|
<el-table-column v-if="channel !== 'official-website'" :label="$t('contractDetail.subCategory')" prop="subCategoryName" width="110"></el-table-column>
|
|
169
169
|
<el-table-column :label="$t('contractDetail.packaging')" prop="packingMethod" width="90" />
|
|
170
170
|
<el-table-column prop="descriptions" :label="$t('contractDetail.description')" :width="channel === 'official-website' ? 200 : 160"></el-table-column>
|
|
171
|
-
<el-table-column prop="weight" :label="$t('contractDetail.weight')" width="120px"
|
|
171
|
+
<el-table-column prop="weight" :label="$t('contractDetail.weight')" width="120px">
|
|
172
|
+
<template slot-scope="scope">
|
|
173
|
+
{{ CommonFormatNumber(scope.row.weight) }}
|
|
174
|
+
</template>
|
|
175
|
+
</el-table-column>
|
|
172
176
|
<el-table-column v-if="channel !== 'official-website'" prop="sllerPrice" :label="$t('contractDetail.sellerPrice')" width="120">
|
|
173
177
|
<template slot-scope="scope">
|
|
174
178
|
<span v-if="dealRecord.quoteType == 'FIXED'">{{ '$' + scope.row.sllerPrice }}</span>
|
|
@@ -372,6 +376,7 @@ import { listBizInvoice, getInfoWithShipment } from '../../../api/biz/bizInvoice
|
|
|
372
376
|
import { listBizShipment, getGeekYumToken, updateAllShipmentStatus } from '../../../api/biz/bizShipment'
|
|
373
377
|
import { listContainerWithInvoice } from '../../../api/biz/bizContainer'
|
|
374
378
|
import ShipmentDetail from '../bizShipment/detail.vue'
|
|
379
|
+
import { CommonFormatNumber } from '../../../utils/MycommonUtil'
|
|
375
380
|
|
|
376
381
|
export default {
|
|
377
382
|
name: 'ContractSummary',
|
|
@@ -490,6 +495,7 @@ export default {
|
|
|
490
495
|
}
|
|
491
496
|
},
|
|
492
497
|
methods: {
|
|
498
|
+
CommonFormatNumber,
|
|
493
499
|
/**
|
|
494
500
|
* @description: 索赔类别
|
|
495
501
|
* @param {*} type
|
|
@@ -26,17 +26,8 @@
|
|
|
26
26
|
{{ tabsItem.label }}
|
|
27
27
|
</div>
|
|
28
28
|
</div>
|
|
29
|
-
<div>
|
|
30
|
-
<!-- 选择项 -->
|
|
31
|
-
<div class="selection-root">
|
|
32
|
-
<span>{{ $t('contractDetail.Selected') }} {{ selectFileList.length }} {{ $t('contractDetail.item') }}</span>
|
|
33
|
-
<div class="border-button" @click.stop="downLoadAll">{{ $t('contractDetail.Download_All') }}</div>
|
|
34
|
-
<div class="border-button" @click.stop="deleteAll">{{ $t('contractDetail.Delete_All') }}</div>
|
|
35
|
-
<div class="border-button" @click.stop="cancelAll">{{ $t('contractDetail.Deselect') }}</div>
|
|
36
|
-
</div>
|
|
37
|
-
</div>
|
|
38
29
|
</div>
|
|
39
|
-
<div class="app-container-right">
|
|
30
|
+
<div class="app-container-right" :style="activeName == 'fourth' ? 'overflow:visible' : 'overflow:auto'">
|
|
40
31
|
<contract-summary v-if="activeName == 'first'" :channel="channel"></contract-summary>
|
|
41
32
|
<contract-info v-if="activeName == 'second'" :channel="channel"></contract-info>
|
|
42
33
|
<!-- 提单指令 -->
|
|
@@ -54,7 +45,6 @@
|
|
|
54
45
|
:contract="contract"
|
|
55
46
|
:channel="channel"
|
|
56
47
|
:buyerFlag="buyerFlag"
|
|
57
|
-
:selectFileListProp="selectFileList"
|
|
58
48
|
ref="contractFileRef"
|
|
59
49
|
></contract-file>
|
|
60
50
|
</div>
|
|
@@ -106,7 +96,6 @@ import ContractSummary from './contractSummary.vue'
|
|
|
106
96
|
import BillInfo from './billInfo.vue'
|
|
107
97
|
import ContractFile from '../bizFileInfo/contract.vue'
|
|
108
98
|
import ContractInfo from './contractInfo.vue'
|
|
109
|
-
import { delBizFileInfo } from '../../../api/biz/bizFileInfo'
|
|
110
99
|
|
|
111
100
|
export default {
|
|
112
101
|
name: 'ContractTracingDetail',
|
|
@@ -165,7 +154,6 @@ export default {
|
|
|
165
154
|
}
|
|
166
155
|
],
|
|
167
156
|
|
|
168
|
-
selectFileList: [],
|
|
169
157
|
// 提单指令列表
|
|
170
158
|
blList: null,
|
|
171
159
|
activeBillIndex: null
|
|
@@ -205,46 +193,7 @@ export default {
|
|
|
205
193
|
console.log(e)
|
|
206
194
|
})
|
|
207
195
|
},
|
|
208
|
-
|
|
209
|
-
* @description: 取消全部选择
|
|
210
|
-
* @return {*}
|
|
211
|
-
*/
|
|
212
|
-
cancelAll() {
|
|
213
|
-
this.$refs.contractFileRef.cancelAllSelectFileList()
|
|
214
|
-
},
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* @description: 全部下载
|
|
218
|
-
* @return {*}
|
|
219
|
-
*/
|
|
220
|
-
downLoadAll() {
|
|
221
|
-
if (this.selectFileList.length == 0) {
|
|
222
|
-
return this.$message.warning(this.$t('contractDetail.please_select_file'))
|
|
223
|
-
}
|
|
224
|
-
this.$refs.contractFileRef.downloadZip()
|
|
225
|
-
},
|
|
226
|
-
deleteAll() {
|
|
227
|
-
console.log('==delBizFileInfo==', this.selectFileList)
|
|
228
|
-
if (this.selectFileList.length == 0) {
|
|
229
|
-
return this.$message.warning(this.$t('contractDetail.please_select_file'))
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
this.$confirm('是否删除选中文件', '提示', {
|
|
233
|
-
confirmButtonText: '确定',
|
|
234
|
-
cancelButtonText: '取消',
|
|
235
|
-
type: 'warning'
|
|
236
|
-
})
|
|
237
|
-
.then(() => {
|
|
238
|
-
const ids = this.selectFileList.map((item) => item.fileId)
|
|
239
|
-
delBizFileInfo(ids).then(() => {
|
|
240
|
-
this.$message.success('删除成功')
|
|
241
|
-
this.$refs.contractFileRef.handleRefresh()
|
|
242
|
-
})
|
|
243
|
-
})
|
|
244
|
-
.catch(() => {
|
|
245
|
-
this.$message.info('已取消删除')
|
|
246
|
-
})
|
|
247
|
-
},
|
|
196
|
+
|
|
248
197
|
/**
|
|
249
198
|
* @description: 切换tab
|
|
250
199
|
* @param {*} tab
|
|
@@ -329,29 +278,8 @@ export default {
|
|
|
329
278
|
height: 100%;
|
|
330
279
|
overflow: auto;
|
|
331
280
|
}
|
|
281
|
+
|
|
332
282
|
}
|
|
333
283
|
}
|
|
334
284
|
|
|
335
|
-
.selection-root {
|
|
336
|
-
margin-top: 26px;
|
|
337
|
-
display: flex;
|
|
338
|
-
flex-direction: column;
|
|
339
|
-
justify-content: center;
|
|
340
|
-
align-items: center;
|
|
341
|
-
margin-bottom: 20px;
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
.border-button {
|
|
345
|
-
margin-top: 10px;
|
|
346
|
-
padding: 0 10px;
|
|
347
|
-
width: max-content;
|
|
348
|
-
height: 21px;
|
|
349
|
-
text-align: center;
|
|
350
|
-
line-height: 17px;
|
|
351
|
-
background: #ffffff;
|
|
352
|
-
border-radius: 11px;
|
|
353
|
-
font-size: 12px;
|
|
354
|
-
border: 2px solid #d1d3d4;
|
|
355
|
-
cursor: pointer;
|
|
356
|
-
}
|
|
357
285
|
</style>
|