doctor-admin-components 1.0.14-beta.6 → 1.0.14-beta.8
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/package.json +1 -1
- package/packages/index.js +0 -1
- package/packages/src/views/biz/bizFileInfo/contract.vue +440 -330
- package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +9 -7
- package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +18 -5
- package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +11 -3
- package/packages/src/views/biz/bizFileInfo/fileShow.vue +6 -2
- package/packages/src/views/biz/bizShipment/add.vue +21 -10
- 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 {
|
|
@@ -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({
|
|
@@ -291,7 +303,7 @@ export default {
|
|
|
291
303
|
.batch-download {
|
|
292
304
|
position: absolute;
|
|
293
305
|
top: -41px;
|
|
294
|
-
left:
|
|
306
|
+
left: 650px;
|
|
295
307
|
min-width: 80px;
|
|
296
308
|
width:max-content;
|
|
297
309
|
padding:0 10px;
|
|
@@ -300,11 +312,12 @@ export default {
|
|
|
300
312
|
text-align: center;
|
|
301
313
|
border-radius: 10px;
|
|
302
314
|
background-color: #54B8FF;
|
|
315
|
+
color: white;
|
|
303
316
|
cursor: pointer;
|
|
304
317
|
font-size:12px;
|
|
305
318
|
}
|
|
306
319
|
.batch-delete {
|
|
307
|
-
left:
|
|
320
|
+
left: 740px;
|
|
308
321
|
}
|
|
309
322
|
}
|
|
310
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 {
|
|
@@ -117,6 +117,10 @@ export default {
|
|
|
117
117
|
type: String,
|
|
118
118
|
default: '',
|
|
119
119
|
},
|
|
120
|
+
deleteTips: {
|
|
121
|
+
type: String,
|
|
122
|
+
default: null,
|
|
123
|
+
},
|
|
120
124
|
},
|
|
121
125
|
data() {
|
|
122
126
|
return {
|
|
@@ -133,7 +137,7 @@ export default {
|
|
|
133
137
|
form: {},
|
|
134
138
|
//上传表单
|
|
135
139
|
uploadForm: {},
|
|
136
|
-
checkFlag: false
|
|
140
|
+
checkFlag: false,
|
|
137
141
|
}
|
|
138
142
|
},
|
|
139
143
|
computed: {
|
|
@@ -207,7 +211,7 @@ export default {
|
|
|
207
211
|
handleDelete(row) {
|
|
208
212
|
const fileIds = row.fileId || this.ids
|
|
209
213
|
this.$modal
|
|
210
|
-
.confirm('是否确认删除该文件?')
|
|
214
|
+
.confirm(this.deleteTips || '是否确认删除该文件?')
|
|
211
215
|
.then(function () {
|
|
212
216
|
return delBizFileInfo(fileIds)
|
|
213
217
|
})
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<!-- 添加或修改装运对话框 -->
|
|
4
4
|
<el-dialog :visible.sync="open" z-index="1000" width="80%" :before-close="handleClose" :title="title">
|
|
5
5
|
<slot name="">
|
|
6
|
+
<span v-if="isDraft" style="color: red">提示: 当前打开了【{{ form.lastUpdateUserName }}】在【{{ form.updateTime }}】保存的装运草稿</span>
|
|
6
7
|
<span v-if="voidInvoiceList" style="color: red">【快捷转卖】:系统检测到此销售合同关联的采购合同存在【已作废】的装运,</span>
|
|
7
8
|
<el-button v-if="voidInvoiceList" @click="handleReference" size="mini" type="text">点击这里直接复制并引用</el-button>
|
|
8
9
|
</slot>
|
|
@@ -244,7 +245,13 @@
|
|
|
244
245
|
:rules="rules.packageNetWeight"
|
|
245
246
|
:prop="'containerList.' + index + '.containerDetailList.' + scope1.$index + '.packageList.' + scope2.$index + '.packageNetWeight'"
|
|
246
247
|
>
|
|
247
|
-
<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>
|
|
248
255
|
</el-form-item>
|
|
249
256
|
</template>
|
|
250
257
|
</el-table-column>
|
|
@@ -384,7 +391,7 @@
|
|
|
384
391
|
</el-row>
|
|
385
392
|
</el-form>
|
|
386
393
|
<div slot="footer" class="dialog-footer">
|
|
387
|
-
<el-button type="warning" @click="onSaveDraft" style="margin-right: 10px">保存草稿</el-button>
|
|
394
|
+
<el-button type="warning" @click="onSaveDraft" style="margin-right: 10px" v-if="title === '生成装运'">保存草稿</el-button>
|
|
388
395
|
<el-button type="primary" @click="submitShipment" style="margin-right: 10px">{{ title == '生成装运' ? '仅生成装运' : '保存草稿' }}</el-button>
|
|
389
396
|
<el-dropdown @command="(command) => handleTemplate(command)" trigger="click" v-if="title == '生成装运'" style="margin-right: 10px">
|
|
390
397
|
<el-button type="primary">{{ '装运并下载' }}</el-button>
|
|
@@ -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: {
|
|
@@ -674,15 +682,15 @@ export default {
|
|
|
674
682
|
},
|
|
675
683
|
|
|
676
684
|
limitDecimalPlaces(index, scope1Index, scope2Index, data, type) {
|
|
677
|
-
let value = data[type]
|
|
678
|
-
const decimalPlaces = 3
|
|
685
|
+
let value = data[type]
|
|
686
|
+
const decimalPlaces = 3
|
|
679
687
|
if (!isNaN(value)) {
|
|
680
|
-
value = parseFloat(value).toFixed(decimalPlaces)
|
|
681
|
-
value = parseFloat(value).toString()
|
|
682
|
-
data[type] = value
|
|
688
|
+
value = parseFloat(value).toFixed(decimalPlaces)
|
|
689
|
+
value = parseFloat(value).toString()
|
|
690
|
+
data[type] = value
|
|
683
691
|
}
|
|
684
692
|
if (type == 'packageGrossWeight') {
|
|
685
|
-
this.changePackageGrossWeight(index, scope1Index, scope2Index)
|
|
693
|
+
this.changePackageGrossWeight(index, scope1Index, scope2Index)
|
|
686
694
|
} else if (type == 'packageTareWeight') {
|
|
687
695
|
this.changePackageTareWeight(index, scope1Index, scope2Index)
|
|
688
696
|
} else if (type == 'packageNetWeight') {
|
|
@@ -1299,11 +1307,14 @@ export default {
|
|
|
1299
1307
|
}
|
|
1300
1308
|
},
|
|
1301
1309
|
async onGetDraft() {
|
|
1302
|
-
if(this.form.contractIds) {
|
|
1310
|
+
if (this.form.contractIds) {
|
|
1303
1311
|
const contractId = this.form.contractIds[0]
|
|
1304
1312
|
const res = await getDraft(contractId)
|
|
1305
1313
|
if (res.data) {
|
|
1314
|
+
this.isDraft = true
|
|
1306
1315
|
this.form = res.data
|
|
1316
|
+
} else {
|
|
1317
|
+
this.isDraft = false
|
|
1307
1318
|
}
|
|
1308
1319
|
}
|
|
1309
1320
|
}
|
|
@@ -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>
|