1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
import Api from "~/service/Api";
import commonFunctions from "~/mixin/commonFunctions.js";
import buildFn from "./buildCommons.js";
import BigNumber from "bignumber.js";
export default {
mixins: [commonFunctions],
methods: {
// 点击获取按钮拉取当前key字段下的表单数据
queryFormData(key) {
console.log(key);
},
// 业务信息=》基本信息=》单据编号-----获取单据编号
async getBrdgrpOwnRef() {
let params = {
brdOwnRef: this.model.brdgrp.rec.ownref,
lidOwnRef: this.model.lidgrp.rec.ownref,
lidInr: this.model.lidgrp.rec.inr,
utlNbr: this.model.lidgrp.rec.utlnbr,
advNbr: this.model.lidgrp.rec.advnbr,
delNbr: this.model.lidgrp.rec.delnbr,
dkflg: this.model.lidgrp.rec.dkflg,
};
const loading = this.loading();
let res = await Api.post("/Lc/ref/getDocRef", params);
if (res.respCode == SUCCESS) {
loading.close();
this.model.brdgrp.rec.ownref = res.data;
}
},
// 获取gitopn弹框表格数据
async queryGridEtyPromptDialogData(type, ptytyp) {
let params = {
userId: window.sessionStorage.userId || "ZL",
ptytyp: ptytyp,
extkey: this.model.brdgrp[type.toLowerCase()].pts.extkey,
};
let res = await Api.post("/service/ptspta/list", params);
if (res.respCode == SUCCESS) {
this.root.$refs["etyDialog"].show = true;
this.root.promptData.data = res.data.ptaInfos;
this.root.promptData.type = type;
}
},
// 选中gitopn弹框表格的行数据
async selectGridEtyPromptData(row) {
let params = {
...row,
};
let res = await Api.post("/service/ptspta/fetch", params);
if (res.respCode == SUCCESS) {
this.$set(this.model.brdgrp, row.role.toLowerCase(), res.data);
}
},
// 业务信息=》基本信息=》支出目的
purposChange(key, value) {
this.handleChangeForm(key, value);
},
buildLiaccv() {
let params = {
...buildFn.buildCommonData(this.model, this.trnName),
liaccvg: this.model.liaccv.liaccvg,
oldamt: this.model.liaccv.oldamt,
chgamt: this.model.liaccv.chgamt,
concur: this.model.liaccv.concur,
};
return params;
},
// 公共组件setmod处理方式改变触发联动
changeSetmodModel(emitParams) {
let reqParams = {};
switch (emitParams.code) {
case "processMethods":
reqParams = buildFn.buildSetglg(this.model, this.trnName);
this.calcPayDetail(reqParams);
break;
case "changeDsp":
let index = emitParams.index;
let setglgRequest = buildFn.buildSetglg(this.model, this.trnName);
setglgRequest.setglg = { setgll: emitParams.list };
this.setgllAccts(setglgRequest, index);
break;
default:
return;
}
},
fillDocstaByChange() {
if (
(this.model.brdgrp.rec.advdat == null || this.model.brdgrp.rec.advdat == "") &&
(this.model.brdgrp.rec.disdat == null || this.model.brdgrp.rec.disdat == "")
) {
let rcvFlg = this.model.brdgrp.rec.rcvdat == null || this.model.brdgrp.rec.rcvdat == "";
let dscinsflgFlg = this.model.brdgrp.rec.dscinsflg == null || this.model.brdgrp.rec.dscinsflg == "";
let docdiFlg = this.model.brdgrp.blk.docdis == null || this.model.brdgrp.blk.docdis == "";
if (!rcvFlg && dscinsflgFlg) {
this.model.brdgrp.rec.docsta = "G";
}
if (!rcvFlg && docdiFlg && !dscinsflgFlg) {
this.model.brdgrp.rec.docsta = "H";
}
if (!rcvFlg && !docdiFlg && !dscinsflgFlg) {
this.model.brdgrp.rec.docsta = "I";
}
}
},
getBigNumber() {
// 配置BigNumber计算规则为保留两位小数,并向上舍入
var BN = BigNumber.clone();
BN.config({ DECIMAL_PLACES: 2, ROUNDING_MODE: 2 });
return BN;
},
fillDocdis() {
var BN = this.getBigNumber();
let descr = "";
if (this.model.lidgrp.rec.shpdat !== null && this.model.brdgrp.rec.shpdat > this.model.lidgrp.rec.shpdat) {
descr = descr + "Late shipment.\n";
}
if (this.model.brdgrp.rec.predat > this.model.lidgrp.rec.expdat) {
descr = descr + "Documents presented after expiry of the LC.\n";
}
let tmp = BN(this.model.lidgrp.cbs.opn1.amt).plus(this.model.oldbrdgrp.cbs.max.amt);
if (BN(this.model.brdgrp.cbs.max.amt).comparedTo(tmp) > 0) {
let amt = BN(this.model.brdgrp.cbs.max.amt)
.minus(this.model.lidgrp.cbs.opn1.amt)
.minus(this.model.oldbrdgrp.cbs.max.amt)
.toFixed(2);
let exces = this.model.brdgrp.cbs.max.cur + " " + amt;
descr = descr + "The LC is overdrawn by " + exces + "\n";
}
let tmp2 = BN(this.model.lidgrp.cbs.opn2.amt).plus(this.model.oldbrdgrp.cbs.opn2.amt);
if (BN(this.model.brdgrp.cbs.max2.amt).comparedTo(tmp2) > 0) {
let addamt = BN(this.model.brdgrp.cbs.max2.amt)
.minus(this.model.lidgrp.cbs.opn2.amt)
.minus(this.model.oldbrdgrp.cbs.opn2.amt)
.toFixed(2);
let excesadd = this.model.brdgrp.cbs.max2.cur + " " + addamt;
descr = descr + "The Additional Amount is overdrawn by " + excesadd + "\n";
}
if (this.model.lidgrp.rec.shppar === "N" && this.model.lidgrp.utlnbr >= 1) {
descr = descr + "Partial shipment effected.\n";
}
if (this.model.brdgrp.rec.docflg === "P") {
if (this.model.lidgrp.rec.avbby === "A" || this.model.lidgrp.rec.avbby === "D") {
descr = descr + "Sight documents presented instead of usance.\n";
}
if (this.model.lidgrp.rec.avbby === "M") {
descr = descr + "Only Sight documents presented instead of mixed payment.\n";
}
}
if (this.model.brdgrp.rec.docflg === "A" || this.model.brdgrp.rec.docflg === "D") {
if (this.model.lidgrp.rec.avbby === "P") {
descr = descr + "Usance documents presented instead of sight.\n";
}
if (this.model.lidgrp.rec.avbby === "M") {
descr = descr + "Only Usance documents presented instead of mixed payment.\n";
}
}
if (this.model.brdgrp.rec.docflg === "M") {
if (this.model.lidgrp.rec.avbby === "P") {
descr = descr + "Mixed payment documents presented instead of sight.\n";
}
if (this.model.lidgrp.rec.avbby === "A" || this.model.lidgrp.rec.avbby === "D") {
descr = descr + "Mixed payment documents presented instead of usance.\n";
}
}
this.model.brdgrp.blk.docdis = descr;
},
async queryAdvData(lidinr) {
let res = await Api.post("/Lc/litdck/queryAdvData", lidinr);
if (res.respCode == SUCCESS) {
return res.data;
}
},
},
};