doctor-admin-components 1.0.14-beta.3 → 1.0.14-beta.31
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 +4 -1
- package/package.json +1 -1
- package/packages/index.js +0 -1
- package/packages/src/api/biz/bizContract.js +10 -0
- package/packages/src/api/biz/bizShipment.js +30 -1
- package/packages/src/utils/zip.js +29 -11
- package/packages/src/views/biz/bizFileInfo/contract.vue +489 -361
- package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +9 -7
- package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +24 -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 +51 -26
- package/packages/src/views/biz/contractTracing/billInfo.vue +15 -7
- package/packages/src/views/biz/contractTracing/changrLogList.vue +67 -0
- package/packages/src/views/biz/contractTracing/companyBanks.vue +15 -5
- package/packages/src/views/biz/contractTracing/contractPdf.vue +2 -7
- package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +5 -77
- package/packages/src/views/biz/contractTracing/editBill.vue +18 -10
- package/packages/src/views/biz/contractTracing/queryDeductionRecords.vue +103 -0
- package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +356 -82
- package/packages/src/views/biz/contractTracing/shipmentPurchaseAmountEditDialog.vue +176 -0
|
@@ -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,19 @@ 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
|
+
let res = this.imgList.find((item) => item.checked);
|
|
101
|
+
// console.log('xxxxxxx', res)
|
|
102
|
+
return res
|
|
103
|
+
},
|
|
90
104
|
checkAll1() {
|
|
91
105
|
this.imgList.forEach((item) => {
|
|
92
106
|
item.checked = true;
|
|
@@ -192,9 +206,9 @@ export default {
|
|
|
192
206
|
watch: {
|
|
193
207
|
imgArr: {
|
|
194
208
|
handler(val) {
|
|
209
|
+
this.imgList = [];
|
|
210
|
+
this.srcList = [];
|
|
195
211
|
if(val.length) {
|
|
196
|
-
this.imgList = [];
|
|
197
|
-
this.srcList = [];
|
|
198
212
|
val.forEach((item) => {
|
|
199
213
|
let coverUrl = this.othersFile(item.url)
|
|
200
214
|
this.imgList.push({
|
|
@@ -204,6 +218,9 @@ export default {
|
|
|
204
218
|
});
|
|
205
219
|
this.srcList.push(coverUrl);
|
|
206
220
|
});
|
|
221
|
+
} else {
|
|
222
|
+
this.imgList = []
|
|
223
|
+
this.srcList = []
|
|
207
224
|
}
|
|
208
225
|
},
|
|
209
226
|
deep: true,
|
|
@@ -288,7 +305,7 @@ export default {
|
|
|
288
305
|
.batch-download {
|
|
289
306
|
position: absolute;
|
|
290
307
|
top: -41px;
|
|
291
|
-
left:
|
|
308
|
+
left: 650px;
|
|
292
309
|
min-width: 80px;
|
|
293
310
|
width:max-content;
|
|
294
311
|
padding:0 10px;
|
|
@@ -297,11 +314,12 @@ export default {
|
|
|
297
314
|
text-align: center;
|
|
298
315
|
border-radius: 10px;
|
|
299
316
|
background-color: #54B8FF;
|
|
317
|
+
color: white;
|
|
300
318
|
cursor: pointer;
|
|
301
319
|
font-size:12px;
|
|
302
320
|
}
|
|
303
321
|
.batch-delete {
|
|
304
|
-
left:
|
|
322
|
+
left: 740px;
|
|
305
323
|
}
|
|
306
324
|
}
|
|
307
325
|
|
|
@@ -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
|
})
|
|
@@ -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>
|
|
@@ -49,17 +50,20 @@
|
|
|
49
50
|
</el-form-item>
|
|
50
51
|
</el-col>
|
|
51
52
|
<el-col :span="6">
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
<el-form-item label="ETA" prop="eta" label-width="100">
|
|
54
|
+
<div style="display: flex; flex-direction: row; align-items: center">
|
|
55
|
+
<el-date-picker
|
|
56
|
+
style="width: 75%"
|
|
57
|
+
clearable
|
|
58
|
+
size="small"
|
|
59
|
+
v-model="form.eta"
|
|
60
|
+
type="date"
|
|
61
|
+
value-format="yyyy-MM-dd HH:mm:ss"
|
|
62
|
+
placeholder="请选择预计到港日期"
|
|
63
|
+
></el-date-picker>
|
|
64
|
+
<el-button type="text" @click="refreshUpdateTime">更新</el-button>
|
|
65
|
+
</div>
|
|
66
|
+
</el-form-item>
|
|
63
67
|
</el-col>
|
|
64
68
|
<el-col :span="6">
|
|
65
69
|
<el-form-item label="实际到港日" prop="actualArrivalDate" label-width="90px">
|
|
@@ -210,7 +214,7 @@
|
|
|
210
214
|
v-model="scope2.row.packageGrossWeight"
|
|
211
215
|
placeholder="请输入毛重"
|
|
212
216
|
size="mini"
|
|
213
|
-
|
|
217
|
+
v-decimal="3"
|
|
214
218
|
@input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row, 'packageGrossWeight')"
|
|
215
219
|
></el-input>
|
|
216
220
|
</el-form-item>
|
|
@@ -229,7 +233,7 @@
|
|
|
229
233
|
v-model="scope2.row.packageTareWeight"
|
|
230
234
|
placeholder="请输入皮重"
|
|
231
235
|
size="mini"
|
|
232
|
-
|
|
236
|
+
v-decimal="3"
|
|
233
237
|
@input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row, 'packageTareWeight')"
|
|
234
238
|
></el-input>
|
|
235
239
|
</el-form-item>
|
|
@@ -244,7 +248,13 @@
|
|
|
244
248
|
:rules="rules.packageNetWeight"
|
|
245
249
|
:prop="'containerList.' + index + '.containerDetailList.' + scope1.$index + '.packageList.' + scope2.$index + '.packageNetWeight'"
|
|
246
250
|
>
|
|
247
|
-
<el-input
|
|
251
|
+
<el-input
|
|
252
|
+
v-model="scope2.row.packageNetWeight"
|
|
253
|
+
placeholder="请输入净重"
|
|
254
|
+
size="mini"
|
|
255
|
+
v-decimal="3"
|
|
256
|
+
@input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row, 'packageNetWeight')"
|
|
257
|
+
></el-input>
|
|
248
258
|
</el-form-item>
|
|
249
259
|
</template>
|
|
250
260
|
</el-table-column>
|
|
@@ -384,7 +394,7 @@
|
|
|
384
394
|
</el-row>
|
|
385
395
|
</el-form>
|
|
386
396
|
<div slot="footer" class="dialog-footer">
|
|
387
|
-
<el-button type="warning" @click="onSaveDraft" style="margin-right: 10px">保存草稿</el-button>
|
|
397
|
+
<el-button type="warning" @click="onSaveDraft" style="margin-right: 10px" v-if="title === '生成装运'">保存草稿</el-button>
|
|
388
398
|
<el-button type="primary" @click="submitShipment" style="margin-right: 10px">{{ title == '生成装运' ? '仅生成装运' : '保存草稿' }}</el-button>
|
|
389
399
|
<el-dropdown @command="(command) => handleTemplate(command)" trigger="click" v-if="title == '生成装运'" style="margin-right: 10px">
|
|
390
400
|
<el-button type="primary">{{ '装运并下载' }}</el-button>
|
|
@@ -448,7 +458,7 @@ import {
|
|
|
448
458
|
updateWithContainer,
|
|
449
459
|
updateWithContainerAndInvoice,
|
|
450
460
|
saveDraft,
|
|
451
|
-
getDraft
|
|
461
|
+
getDraft, refreshUpdateTime
|
|
452
462
|
} from '../../../api/biz/bizShipment'
|
|
453
463
|
import { generateFinalInvoiceByShipmentId } from '../../../api/biz/bizInvoice'
|
|
454
464
|
import { updateBizContractDetail } from '../../../api/biz/bizContractDetail'
|
|
@@ -547,7 +557,8 @@ export default {
|
|
|
547
557
|
//编辑开关
|
|
548
558
|
editSwitch: false,
|
|
549
559
|
//
|
|
550
|
-
currentRow: null
|
|
560
|
+
currentRow: null,
|
|
561
|
+
isDraft: false
|
|
551
562
|
}
|
|
552
563
|
},
|
|
553
564
|
props: {
|
|
@@ -674,15 +685,15 @@ export default {
|
|
|
674
685
|
},
|
|
675
686
|
|
|
676
687
|
limitDecimalPlaces(index, scope1Index, scope2Index, data, type) {
|
|
677
|
-
let value = data[type]
|
|
678
|
-
const decimalPlaces = 3
|
|
679
|
-
if (!isNaN(value)) {
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
}
|
|
688
|
+
// let value = data[type]
|
|
689
|
+
// const decimalPlaces = 3
|
|
690
|
+
// if (!isNaN(value)) {
|
|
691
|
+
// value = parseFloat(value).toFixed(decimalPlaces)
|
|
692
|
+
// value = parseFloat(value).toString()
|
|
693
|
+
// data[type] = value
|
|
694
|
+
// }
|
|
684
695
|
if (type == 'packageGrossWeight') {
|
|
685
|
-
this.changePackageGrossWeight(index, scope1Index, scope2Index)
|
|
696
|
+
this.changePackageGrossWeight(index, scope1Index, scope2Index)
|
|
686
697
|
} else if (type == 'packageTareWeight') {
|
|
687
698
|
this.changePackageTareWeight(index, scope1Index, scope2Index)
|
|
688
699
|
} else if (type == 'packageNetWeight') {
|
|
@@ -1299,13 +1310,27 @@ export default {
|
|
|
1299
1310
|
}
|
|
1300
1311
|
},
|
|
1301
1312
|
async onGetDraft() {
|
|
1302
|
-
if(this.form.contractIds) {
|
|
1313
|
+
if (this.form.contractIds) {
|
|
1303
1314
|
const contractId = this.form.contractIds[0]
|
|
1304
1315
|
const res = await getDraft(contractId)
|
|
1305
1316
|
if (res.data) {
|
|
1317
|
+
this.isDraft = true
|
|
1306
1318
|
this.form = res.data
|
|
1319
|
+
} else {
|
|
1320
|
+
this.isDraft = false
|
|
1307
1321
|
}
|
|
1308
1322
|
}
|
|
1323
|
+
},
|
|
1324
|
+
refreshUpdateTime() {
|
|
1325
|
+
if (this.form.shipmentId) {
|
|
1326
|
+
const loading = this.openLoading()
|
|
1327
|
+
refreshUpdateTime(this.form.shipmentId).then((res) => {
|
|
1328
|
+
loading.close()
|
|
1329
|
+
this.$modal.msgSuccess('更新成功')
|
|
1330
|
+
}).catch(() => {
|
|
1331
|
+
loading.close();
|
|
1332
|
+
})
|
|
1333
|
+
}
|
|
1309
1334
|
}
|
|
1310
1335
|
}
|
|
1311
1336
|
}
|
|
@@ -198,17 +198,17 @@
|
|
|
198
198
|
<el-row>
|
|
199
199
|
<el-col :span="8">
|
|
200
200
|
<el-form-item :label="$t('contract.company') + ':'">
|
|
201
|
-
{{
|
|
201
|
+
{{ secondNotifyInfoInfo ? secondNotifyInfoInfo.companyName : ""}}
|
|
202
202
|
</el-form-item>
|
|
203
203
|
</el-col>
|
|
204
204
|
<el-col :span="8">
|
|
205
205
|
<el-form-item :label="$t('contract.taxId') + ':'">
|
|
206
|
-
{{
|
|
206
|
+
{{ secondNotifyInfoInfo ? secondNotifyInfoInfo.taxNumber : "" }}
|
|
207
207
|
</el-form-item>
|
|
208
208
|
</el-col>
|
|
209
209
|
<el-col :span="8">
|
|
210
210
|
<el-form-item :label="$t('contract.address') + ':'">
|
|
211
|
-
{{
|
|
211
|
+
{{ secondNotifyInfoInfo ? secondNotifyInfoInfo.address : "" }}
|
|
212
212
|
</el-form-item>
|
|
213
213
|
</el-col>
|
|
214
214
|
</el-row>
|
|
@@ -216,19 +216,19 @@
|
|
|
216
216
|
<el-row>
|
|
217
217
|
<el-col :span="8">
|
|
218
218
|
<el-form-item :label="$t('contract.contact') + ':'">
|
|
219
|
-
{{
|
|
219
|
+
{{ secondNotifyInfoInfo ? secondNotifyInfoInfo.contactPerson : "" }}
|
|
220
220
|
</el-form-item>
|
|
221
221
|
</el-col>
|
|
222
222
|
<el-col :span="8">
|
|
223
223
|
<el-form-item :label="$t('contract.phoneNumber') + ':'">
|
|
224
|
-
{{
|
|
224
|
+
{{ secondNotifyInfoInfo ? secondNotifyInfoInfo.phoneNumber : "" }}
|
|
225
225
|
</el-form-item>
|
|
226
226
|
</el-col>
|
|
227
227
|
<el-col :span="8"></el-col>
|
|
228
228
|
</el-row>
|
|
229
229
|
|
|
230
230
|
<el-row>
|
|
231
|
-
<el-form-item :label="$t('contract.email') + ':'">{{
|
|
231
|
+
<el-form-item :label="$t('contract.email') + ':'">{{ secondNotifyInfoInfo ? secondNotifyInfoInfo.email : "" }}</el-form-item>
|
|
232
232
|
</el-row>
|
|
233
233
|
<el-divider></el-divider>
|
|
234
234
|
<div class="sub-title mb20">{{ $t('contract.otherInfo') }}</div>
|
|
@@ -303,6 +303,7 @@ import { listBizContractCompany } from '../../../api/biz/bizContractCompany'
|
|
|
303
303
|
import BillPdf from './billPdf.vue'
|
|
304
304
|
import { listCompanyBillGoods } from '../../../api/biz/bizCompanyBillGoods'
|
|
305
305
|
import EditBill from './editBill.vue'
|
|
306
|
+
import { getSecondNotifyInfo } from '../../../api/biz/bizContract'
|
|
306
307
|
// import { getSaleContractInfo } from '../../../api/biz/bizContract'
|
|
307
308
|
|
|
308
309
|
export default {
|
|
@@ -368,7 +369,8 @@ export default {
|
|
|
368
369
|
notifierCompanyId: [{ required: true, trigger: 'blur' }],
|
|
369
370
|
goodsName: [{ required: true, trigger: 'blur' }]
|
|
370
371
|
},
|
|
371
|
-
isMobile: document.body.clientWidth <= 768
|
|
372
|
+
isMobile: document.body.clientWidth <= 768,
|
|
373
|
+
secondNotifyInfoInfo: null
|
|
372
374
|
}
|
|
373
375
|
},
|
|
374
376
|
created() {
|
|
@@ -378,6 +380,7 @@ export default {
|
|
|
378
380
|
if (printModel == 1) {
|
|
379
381
|
this.printModel = true
|
|
380
382
|
}
|
|
383
|
+
this.getSecondNotifyInfo();
|
|
381
384
|
// this.getSaleContractInfo(this.contract.dealId)
|
|
382
385
|
},
|
|
383
386
|
methods: {
|
|
@@ -436,6 +439,11 @@ export default {
|
|
|
436
439
|
}
|
|
437
440
|
})
|
|
438
441
|
},
|
|
442
|
+
getSecondNotifyInfo() {
|
|
443
|
+
getSecondNotifyInfo().then((res) => {
|
|
444
|
+
this.secondNotifyInfoInfo = res.data;
|
|
445
|
+
})
|
|
446
|
+
},
|
|
439
447
|
//更改收货人或者通知人公司时 相应显示变更
|
|
440
448
|
changeSubCompany(val, type) {
|
|
441
449
|
if (type == 'delivery') {
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
* @Author: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
|
|
3
|
+
* @Date: 2024-08-19 15:46:00
|
|
4
|
+
* @LastEditors: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
|
|
5
|
+
* @LastEditTime: 2024-08-21 16:19:39
|
|
6
|
+
* @FilePath: /doctor-admin-components 公共组件/packages/src/views/biz/contractTracing/shipmentPurchaseAmountEditDialog.vue
|
|
7
|
+
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
8
|
+
-->
|
|
9
|
+
<template>
|
|
10
|
+
<div v-if="list.length">
|
|
11
|
+
<div class="bold" style="margin-bottom:10px">历史修正记录</div>
|
|
12
|
+
<div class="wrap" v-for="listItem in list" :key="listItem.changeId">
|
|
13
|
+
<div class="row-wrap">
|
|
14
|
+
<div class="time">{{ utc2local(listItem.changeTime, 'yyyy-MM-DD HH:mm:ss') }}</div>
|
|
15
|
+
<div class="time">修改人:{{ listItem.operName }}</div>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="row-wrap-1">
|
|
18
|
+
<div class="title bold">修改内容:</div>
|
|
19
|
+
<div>{{ listItem.changeContent }}</div>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="row-wrap-1" v-if="listItem.changeReason">
|
|
22
|
+
<div class="title bold">修改原因:</div>
|
|
23
|
+
<div style="white-space: pre-line !important">{{ listItem.changeReason }}</div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
</template>
|
|
29
|
+
<script>
|
|
30
|
+
export default {
|
|
31
|
+
props: {
|
|
32
|
+
list: {
|
|
33
|
+
type: Array,
|
|
34
|
+
default: () => []
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
name: 'changrLogList',
|
|
38
|
+
data() {
|
|
39
|
+
return {}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
</script>
|
|
43
|
+
<style scoped lang="scss">
|
|
44
|
+
.wrap {
|
|
45
|
+
padding:10px 20px;
|
|
46
|
+
margin-bottom: 10px;
|
|
47
|
+
background-color: #f2f2f2;
|
|
48
|
+
}
|
|
49
|
+
.bold {
|
|
50
|
+
font-weight: bold;
|
|
51
|
+
}
|
|
52
|
+
.row-wrap {
|
|
53
|
+
display: flex;
|
|
54
|
+
justify-content: space-between;
|
|
55
|
+
margin-bottom: 10px;
|
|
56
|
+
.time {
|
|
57
|
+
font-size:12px;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
.row-wrap-1 {
|
|
61
|
+
display: flex;
|
|
62
|
+
margin-bottom: 10px;
|
|
63
|
+
.title {
|
|
64
|
+
min-width: 70px;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
</style>
|
|
@@ -34,15 +34,18 @@
|
|
|
34
34
|
<el-col :span="24">
|
|
35
35
|
<div class="bank-item">Beneficiary Address:{{ bankData.beneficiaryAddress }}</div>
|
|
36
36
|
</el-col>
|
|
37
|
+
<el-col :span="24">
|
|
38
|
+
<div class="bank-item" style="display:flex;"><p>Remark:</p><p style="white-space: pre-wrap;">{{ bankData.remark }}</p></div>
|
|
39
|
+
</el-col>
|
|
37
40
|
</el-row>
|
|
38
41
|
</div>
|
|
39
42
|
<!-- 添加入口 -->
|
|
40
43
|
<div v-if="!bankList || bankList.length == 0" style="padding-left: 30px; padding-top: 10px">
|
|
41
44
|
<span>未添加收款账户信息,</span>
|
|
42
|
-
<el-button type="text" size="mini" @click="clickAdd">去添加</el-button>
|
|
45
|
+
<el-button type="text" size="mini" v-hasPermi="['biz:company:payment:account:add']" @click="clickAdd">去添加</el-button>
|
|
43
46
|
</div>
|
|
44
47
|
<div v-else-if="bankList && bankList.length < 3" style="padding-left: 30px; padding-top: 10px">
|
|
45
|
-
<el-button type="text" size="mini" @click="clickAdd">去添加</el-button>
|
|
48
|
+
<el-button type="text" size="mini" @click="clickAdd" v-hasPermi="['biz:company:payment:account:add']">去添加</el-button>
|
|
46
49
|
<span>收款账户信息</span>
|
|
47
50
|
</div>
|
|
48
51
|
<!-- 添加收款账户弹框 -->
|
|
@@ -79,6 +82,11 @@
|
|
|
79
82
|
<el-input maxlength="500" v-model="form.beneficiaryAddress" placeholder="请输入内容" />
|
|
80
83
|
</el-form-item>
|
|
81
84
|
</el-col>
|
|
85
|
+
<el-col :span="18">
|
|
86
|
+
<el-form-item label="Remark" label-width="150px">
|
|
87
|
+
<el-input maxlength="500" type="textarea" rows="4" v-model="form.remark" placeholder="请输入内容" />
|
|
88
|
+
</el-form-item>
|
|
89
|
+
</el-col>
|
|
82
90
|
</el-row>
|
|
83
91
|
</el-form>
|
|
84
92
|
<div slot="footer" class="dialog-footer">
|
|
@@ -137,7 +145,8 @@ export default {
|
|
|
137
145
|
bankAddress: null,
|
|
138
146
|
beneficiaryAccount: null,
|
|
139
147
|
beneficiary: null,
|
|
140
|
-
beneficiaryAddress: null
|
|
148
|
+
beneficiaryAddress: null,
|
|
149
|
+
remark: null,
|
|
141
150
|
},
|
|
142
151
|
rules: {}
|
|
143
152
|
}
|
|
@@ -154,7 +163,8 @@ export default {
|
|
|
154
163
|
bankAddress: null,
|
|
155
164
|
beneficiaryAccount: null,
|
|
156
165
|
beneficiary: null,
|
|
157
|
-
beneficiaryAddress: null
|
|
166
|
+
beneficiaryAddress: null,
|
|
167
|
+
remark: null,
|
|
158
168
|
}
|
|
159
169
|
},
|
|
160
170
|
handleCaclSelectIndex() {
|
|
@@ -194,7 +204,7 @@ export default {
|
|
|
194
204
|
},
|
|
195
205
|
clickConfirm() {
|
|
196
206
|
let e = this.form
|
|
197
|
-
if (!(e.swiftCode || e.bankName || e.bankAddress || e.beneficiaryAccount || e.beneficiary || e.beneficiaryAddress)) {
|
|
207
|
+
if (!(e.swiftCode || e.bankName || e.bankAddress || e.beneficiaryAccount || e.beneficiary || e.beneficiaryAddress || e.remark)) {
|
|
198
208
|
this.$modal.msgError('请输入内容')
|
|
199
209
|
return
|
|
200
210
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
{{ contract.contractType == 'sale' ? 'Sales Order #:' : 'Purchase Order' }}
|
|
12
12
|
</el-col>
|
|
13
13
|
<el-col :span="7">{{ contract.contractNo }}</el-col>
|
|
14
|
-
<el-col :span="5">
|
|
14
|
+
<el-col :span="5">Reference#: {{ contract.reference }}</el-col>
|
|
15
15
|
<el-col :span="7"></el-col>
|
|
16
16
|
</el-row>
|
|
17
17
|
<div>
|
|
@@ -109,12 +109,7 @@
|
|
|
109
109
|
<el-descriptions-item label="Service Fee">{{ contract.serviceFee }}</el-descriptions-item>
|
|
110
110
|
<el-descriptions-item label="Freight Terms">{{ contract.freightTerms }}</el-descriptions-item>
|
|
111
111
|
<el-descriptions-item label="Payment Terms">
|
|
112
|
-
|
|
113
|
-
<span v-if="contract.deposit"> Deposit ratio {{ contract.deposit }}% {{ contract.depositDays }} days {{ contract.depositPaymentForm }} and </span>
|
|
114
|
-
{{ contract.balance }}% balance {{ contract.balancePaymentType }} paid {{ contract.balanceDays }} days {{ contract.balancePaymentForm }}
|
|
115
|
-
{{ contract.otherPaymentTerm }}
|
|
116
|
-
</div>
|
|
117
|
-
<div v-else>{{ contract.otherPaymentTerm }}</div>
|
|
112
|
+
{{ contract.paymentTermFullText }}
|
|
118
113
|
</el-descriptions-item>
|
|
119
114
|
<el-descriptions-item label="Price Fixing Option">
|
|
120
115
|
<div v-if="contract.livePriceSwitch">
|