Commit 669fd09b by huangshunlin

即期结售汇前端调整,增加结售汇申报组件

parent d0b167ad
......@@ -24,6 +24,7 @@ export default class Fxdgrp {
dsp: "", // 外币结算账号 fxdgrp.rec.dsp
dsp2: "", // 本币结算账号 fxdgrp.rec.dsp2
usr: "", // 业务经办人 fxdgrp.rec.usr
ownusr: "", // Clearing Department Responsible User fxdgrp.rec.ownusr
},
blk: {
remark: "", // 备注 fxdgrp.blk.remark
......@@ -31,19 +32,19 @@ export default class Fxdgrp {
cbs: {
max: {
cur: "", // Currency fxdgrp.cbs.max.cur
amt: 0.00, // Balance fxdgrp.cbs.max.amt
amt: "", // Balance fxdgrp.cbs.max.amt
},
nom1: {
cur: "", // Currency fxdgrp.cbs.nom1.cur
amt: 0.00, // Balance fxdgrp.cbs.nom1.amt
amt: "", // Balance fxdgrp.cbs.nom1.amt
},
opn1: {
cur: "", // Currency fxdgrp.cbs.nom1.cur
amt: 0.00, // Balance fxdgrp.cbs.nom1.amt
amt: "", // Balance fxdgrp.cbs.nom1.amt
},
opn2: {
cur: "", // Currency fxdgrp.cbs.nom1.cur
amt: 0.00, // Balance fxdgrp.cbs.nom1.amt
amt: "", // Balance fxdgrp.cbs.nom1.amt
},
},
apl: {
......
import commonFunctions from '~/mixin/commonFunctions.js';
import Api from '~/service/Api';
import commonFunctions from "~/mixin/commonFunctions.js";
import Api from "~/service/Api";
export default {
mixins: [commonFunctions],
methods: {
async getOwnref() {
if (this.model.fxdgrp.rec.fxtyp == "") {
this.$notify.warning({
title: '提示',
message: '请先选择结售汇类型!'
});
return;
}
const loading = this.loading();
let res = await Api.post(`/${this.moduleRouter()}/fxtssb/getRef`, this.model);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
return;
}
this.model.fxdgrp.rec.ownref = res.data;
},
mixins: [commonFunctions],
methods: {
async getOwnref() {
if (this.model.fxdgrp.rec.fxtyp == "") {
this.$notify.warning({
title: "提示",
message: "请先选择结售汇类型!",
});
return;
}
const loading = this.loading();
let res = await Api.post(
`/${this.moduleRouter()}/fxtssb/getRef`,
this.model
);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
return;
}
this.model.fxdgrp.rec.ownref = res.data;
},
async defaultAccountsN1000() {
if (this.model.fxdgrp.rec.fxtyp == "") {
return;
}
if (this.model.fxdgrp.cbs.max.cur == "") {
return;
}
if (this.model.fxdgrp.apl.pts.ptyinr == "") {
return;
}
const loading = this.loading();
let res = await Api.post(`/${this.moduleRouter()}/fxtssb/defaultAccountsN1000`, this.model);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
return;
}
// this.updateValueSet(res.codeSet);
this.model.accLst = res.codeSet['accLst'];
this.model.accLst2 = res.codeSet['acc2Lst'];
this.model.fxdgrp.rec.acc = res.data.fxdgrp.rec.acc;
this.model.fxdgrp.rec.acc2 = res.data.fxdgrp.rec.acc2;
},
async defaultAccountsN1000() {
if (this.model.fxdgrp.rec.fxtyp == "") {
return;
}
if (this.model.fxdgrp.cbs.max.cur == "") {
return;
}
if (this.model.fxdgrp.apl.pts.ptyinr == "") {
return;
}
const loading = this.loading();
let res = await Api.post(
`/${this.moduleRouter()}/fxtssb/defaultAccountsN1000`,
this.model
);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
return;
}
// this.updateValueSet(res.codeSet);
this.model.accLst = res.codeSet["accLst"];
this.model.accLst2 = res.codeSet["acc2Lst"];
this.model.fxdgrp.rec.acc = res.data.fxdgrp.rec.acc;
this.model.fxdgrp.rec.acc2 = res.data.fxdgrp.rec.acc2;
},
async defaultRateN1000() {
if (this.model.fxdgrp.rec.fxtyp == "") {
return;
}
if (this.model.fxdgrp.cbs.max.cur == "") {
return;
}
if (this.model.fxdgrp.apl.pts.ptyinr == "") {
return;
}
const loading = this.loading();
let res = await Api.post(`/${this.moduleRouter()}/fxtssb/defaultRateN1000`, this.model);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
return;
}
this.model.fxdgrp.rec.rat = res.data.fxdgrp.rec.rat;
this.model.fxdgrp.rec.midrat = res.data.fxdgrp.rec.midrat;
},
async defaultRateN1000() {
if (this.model.fxdgrp.rec.fxtyp == "") {
return;
}
if (this.model.fxdgrp.cbs.max.cur == "") {
return;
}
if (this.model.fxdgrp.apl.pts.ptyinr == "") {
return;
}
const loading = this.loading();
let res = await Api.post(
`/${this.moduleRouter()}/fxtssb/defaultRateN1000`,
this.model
);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
return;
}
this.model.fxdgrp.rec.rat = res.data.fxdgrp.rec.rat;
this.model.fxdgrp.rec.midrat = res.data.fxdgrp.rec.midrat;
},
async defaultAccAndRate() {
this.defaultAccountsN1000();
this.defaultRateN1000();
console.log("defaultAccAndRate")
this.defaultCalculateN1100();
},
async defaultAccAndRate() {
this.defaultAccountsN1000();
await this.defaultRateN1000();
this.defaultCalculateN1100();
},
async defaultCalculateN1100() {
console.log("defaultCalculateN1100")
async defaultCalculateN1100() {
console.log("defaultCalculateN1100");
if (this.model.fxdgrp.rec.rat == "") {
return;
}
if (this.model.fxdgrp.cbs.max.cur == "") {
return;
}
if (this.model.fxdgrp.cbs.max.amt == "" || this.model.fxdgrp.cbs.max.amt == 0) {
return;
}
const loading = this.loading();
let res = await Api.post(`/${this.moduleRouter()}/fxtssb/defaultCalculateN1100`, this.model);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
return;
}
this.model.fxdgrp.cbs.max.amt = res.data.fxdgrp.cbs.max.amt;
this.model.fxdgrp.cbs.nom1.amt = res.data.fxdgrp.cbs.nom1.amt;
},
}
}
\ No newline at end of file
if (this.model.fxdgrp.rec.rat == "") {
return;
}
if (this.model.fxdgrp.cbs.max.cur == "") {
return;
}
if (
this.model.fxdgrp.cbs.max.amt == "" ||
this.model.fxdgrp.cbs.max.amt == 0
) {
return;
}
const loading = this.loading();
let res = await Api.post(
`/${this.moduleRouter()}/fxtssb/defaultCalculateN1100`,
this.model
);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
return;
}
this.model.fxdgrp.cbs.max.amt = res.data.fxdgrp.cbs.max.amt;
this.model.fxdgrp.cbs.nom1.amt = res.data.fxdgrp.cbs.nom1.amt;
},
},
};
export default {
import JshmodCheck from "~/components/business/jshmod/model/check";
export default function () {
return {
...new JshmodCheck(this).check,
"fxdgrp.rec.ownref": [
{type: "string", required: true, message: "必输项"},
{max: 16, message: "长度不能超过16"}
{ type: "string", required: true, message: "必输项" },
{ max: 16, message: "长度不能超过16" },
],
"fxdgrp.rec.nam": [
{type: "string", required: false, message: "必输项"},
{max: 40, message: "长度不能超过40"}
{ type: "string", required: false, message: "必输项" },
{ max: 40, message: "长度不能超过40" },
],
"fxdgrp.apl.pts.ref": [
{type: "string", required: false, message: "必输项"},
{max: 20, message: "长度不能超过20"}
{ type: "string", required: false, message: "必输项" },
{ max: 20, message: "长度不能超过20" },
],
"fxdgrp.rec.usr": [
{type: "string", required: false, message: "必输项"},
{max: 8, message: "长度不能超过8"}
{ type: "string", required: false, message: "必输项" },
{ max: 8, message: "长度不能超过8" },
],
"fxdgrp.apl.pts.extkey": [
{type: "string", required: false, message: "必输项"},
{max: 16, message: "长度不能超过16"}
{ type: "string", required: false, message: "必输项" },
{ max: 16, message: "长度不能超过16" },
],
"fxdgrp.apl.pts.adrblk": [
{type: "string", required: true, message: "必输项"},
{max: 35, message: "长度不能超过35"}
{ type: "string", required: true, message: "必输项" },
{ max: 35, message: "长度不能超过35" },
],
"fxdgrp.cbs.max.cur": [
{ type: "string", required: true, message: "必输项" },
{ max: 3, message: "3" },
],
"fxdgrp.cbs.max.amt": [
{type: "string", required: true, message: "必输项"},
{max: 18, message: "整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位"}
{ type: "string", required: true, message: "必输项" },
{ max: 18, message: "整数位不能超过14位" },
{
pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/,
message: "小数位不能超过3位",
},
],
"fxdgrp.cbs.nom1.amt": [
{type: "string", required: false, message: "必输项"},
{max: 18, message: "整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位"}
{ type: "string", required: false, message: "必输项" },
{ max: 18, message: "整数位不能超过14位" },
{
pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/,
message: "小数位不能超过3位",
},
],
"fxdgrp.rec.quoref": [
{type: "string", required: false, message: "必输项"},
{max: 16, message: "长度不能超过16"}
{ type: "string", required: false, message: "必输项" },
{ max: 16, message: "长度不能超过16" },
],
"fxdgrp.rec.fudref": [
{type: "string", required: false, message: "必输项"},
{max: 16, message: "长度不能超过16"}
],
"fxdgrp.rec.opndat": [
{required: true, message: "输入正确的日期"}
],
"fxdgrp.rec.valdat": [
{required: true, message: "输入正确的日期"}
],
"fxdgrp.rec.setdat": [
{required: false, message: "输入正确的日期"}
],
"fxdgrp.rec.setdatto": [
{required: false, message: "输入正确的日期"}
],
"fxdgrp.rec.setdatfrm": [
{required: false, message: "输入正确的日期"}
],
{ type: "string", required: false, message: "必输项" },
{ max: 16, message: "长度不能超过16" },
],
"fxdgrp.rec.opndat": [{ required: true, message: "输入正确的日期" }],
"fxdgrp.rec.valdat": [{ required: true, message: "输入正确的日期" }],
"fxdgrp.rec.setdat": [{ required: false, message: "输入正确的日期" }],
"fxdgrp.rec.setdatto": [{ required: false, message: "输入正确的日期" }],
"fxdgrp.rec.setdatfrm": [{ required: false, message: "输入正确的日期" }],
"fxdgrp.blk.remark": [
{type: "string", required: false, message: "必输项"},
{max: 35, message: "长度不能超过35"}
{ type: "string", required: false, message: "必输项" },
{ max: 35, message: "长度不能超过35" },
],
"fxdgrp.rec.dsp": [
{type: "string", required: true, message: "必输项"},
{max: 2, message: "长度不能超过2"}
{ type: "string", required: true, message: "必输项" },
{ max: 2, message: "长度不能超过2" },
],
"fxdgrp.rec.dsp2": [
{type: "string", required: true, message: "必输项"},
{max: 2, message: "长度不能超过2"}
{ type: "string", required: true, message: "必输项" },
{ max: 2, message: "长度不能超过2" },
],
"fxdgrp.rec.acc": [
{type: "string", required: true, message: "必输项"},
{max: 21, message: "长度不能超过21"}
{ type: "string", required: true, message: "必输项" },
{ max: 21, message: "长度不能超过21" },
],
"fxdgrp.rec.acc2": [
{type: "string", required: true, message: "必输项"},
{max: 21, message: "长度不能超过21"}
{ type: "string", required: true, message: "必输项" },
{ max: 21, message: "长度不能超过21" },
],
"fxdgrp.rec.trnman": [
{type: "string", required: true, message: "必输项"},
{max: 2, message: "长度不能超过2"}
{ type: "string", required: true, message: "必输项" },
{ max: 2, message: "长度不能超过2" },
],
"fxdgrp.rec.trdint": [
{type: "string", required: true, message: "必输项"},
{max: 3, message: "长度不能超过3"}
{ type: "string", required: true, message: "必输项" },
{ max: 3, message: "长度不能超过3" },
],
}
\ No newline at end of file
};
}
......@@ -16,6 +16,7 @@ export default class Fxtssb {
setmod: new Pub().data.Setmod,
docpan: new Pub().data.Docpan,
trndia: new Pub().data.Trndia,
jshmod: new Pub().data.Jshmod,
}
}
}
\ No newline at end of file
......@@ -250,10 +250,6 @@
:filterKey="['110','121','122','123','124','125','126','12X','131','132','210','220','221','222','223','231','232','240','241','242','250','260','261','262','270']">
</c-select>
</el-form-item>
<el-form-item prop="fxdgrp.rec.trdout" style="display:none">
<c-select v-model="model.fxdgrp.rec.trdout" style="width:100%">
</c-select>
</el-form-item>
</c-col>
</c-col>
</c-col>
......@@ -279,9 +275,11 @@
return flg;
},
defaultNam950: function () {
let amount = this.moneyFormat(this.model.fxdgrp.cbs.max.amt, this.model.fxdgrp.cbs.max.cur)
return this.getCodelabel(this.model.fxdgrp.rec.fxtyp, "fxt_fxtyp") + ","
+ this.model.fxdgrp.cbs.max.cur + " " + amount;
let amount = this.moneyFormat(this.model.fxdgrp.cbs.max.amt, this.model.fxdgrp.cbs.max.cur);
let nam = this.getCodelabel(this.model.fxdgrp.rec.fxtyp, "fxt_fxtyp") + ","
+ this.model.fxdgrp.cbs.max.cur + " " + amount
this.model.fxdgrp.rec.nam = nam;
return nam;
},
},
methods: {
......
<template>
<div class="eContainer">
<c-page title="即期结汇">
<el-form :model="model" :rules="rules" ref="modelForm" label-width="150px" label-position="right" size="small"
:validate-on-rule-change="false">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="myTabClick">
<el-tab-pane label="概要" name="ovwp">
<c-content>
<m-ovwp :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane label="费用/账务" name="setpan">
<c-content>
<m-setpan :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<!-- <el-tab-pane label="报文/面函" name="docpan">-->
<!-- <c-content>-->
<!-- <m-docpan :codes="codes" :model="model" />-->
<!-- </c-content>-->
<!-- </el-tab-pane>-->
</c-tabs>
</el-form>
<c-function-btn
:handleCheck="handleCheck"
:handleStash="handleStash"
:handleSubmit="handleSubmit"
@handleSureWarning="handleSureWarning"
ref="commonBtn"
></c-function-btn>
</c-page>
</div>
<div class="eContainer">
<c-page title="即期结汇">
<el-form :model="model" :rules="rules" ref="modelForm" label-width="150px" label-position="right"
size="small"
:validate-on-rule-change="false">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="myTabClick">
<el-tab-pane label="概要" name="ovwp">
<c-content>
<m-ovwp :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
<el-tab-pane label="费用/账务" name="setpan">
<c-content>
<m-setpan :codes="codes" :model="model"/>
</c-content>
</el-tab-pane>
<!-- <el-tab-pane label="报文/面函" name="docpan">-->
<!-- <c-content>-->
<!-- <m-docpan :codes="codes" :model="model" />-->
<!-- </c-content>-->
<!-- </el-tab-pane>-->
<el-tab-pane label="结售汇申报" name="jshmod">
<c-content>
<m-jshmod :codes="codes" :model="model" ref="jshmod" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<c-function-btn
:handleCheck="handleCheck"
:handleStash="handleStash"
:handleSubmit="handleSubmit"
@handleSureWarning="handleSureWarning"
ref="commonBtn"
></c-function-btn>
</c-page>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Fxtssb from "../model"
import Ovwp from "./Ovwp"
import Setpan from "~/components/business/setmod/views";
import Docpan from "~/components/business/docpan/views";
import CodeTable from "~/config/CodeTable"
import Fxtssb from "../model"
import Ovwp from "./Ovwp"
import Setpan from "~/components/business/setmod/views";
import Docpan from "~/components/business/docpan/views";
import operationFunc from "~/mixin/operationFunc";
import commonDepend from "~/mixin/commonDepend";
import event from "../event";
import buildFn from "../event/buildCommons.js";
import Check from "../model/Check.js";
export default {
name: "Fxtssb",
components: {
"m-ovwp": Ovwp,
"m-setpan": Setpan,
"m-docpan": Docpan,
},
provide() {
return {
root: this
}
},
mixins: [operationFunc, commonDepend, event, buildFn],
data() {
return {
tabVal: "ovwp",
trnName: "fxtssb",
trnType: "",
model: new Fxtssb().data,
rules: Check,
codes: { ...CodeTable },
}
},
methods: {
myTabClick(tab) {
this.tabClick(tab)
}
},
created: async function () {
console.log("进入fxtssb交易");
let params = {
transName: this.trnName,
fxdgrp: {
rec: {
inr: this.$route.query.inr || "",
import operationFunc from "~/mixin/operationFunc";
import commonDepend from "~/mixin/commonDepend";
import event from "../event";
import buildFn from "../event/buildCommons.js";
import Check from "../model/Check.js";
import Jshmod from "~/components/business/jshmod/views/index";
export default {
name: "Fxtssb",
components: {
"m-ovwp": Ovwp,
"m-setpan": Setpan,
"m-docpan": Docpan,
"m-jshmod": Jshmod,
},
},
};
this.init(params)
}
}
provide() {
return {
root: this
}
},
mixins: [operationFunc, commonDepend, event, buildFn],
data() {
return {
tabVal: "ovwp",
trnName: "fxtssb",
trnType: "",
model: new Fxtssb().data,
rules: Check,
codes: {...CodeTable},
}
},
methods: {
myTabClick(tab) {
this.tabClick(tab)
}
},
created: async function () {
console.log("进入fxtssb交易");
let params = {
transName: this.trnName,
fxdgrp: {
rec: {
inr: this.$route.query.inr || "",
},
},
};
this.init(params)
}
}
</script>
<style></style>
import Utils from "~/utils";
export default {
methods: {
buildPtspta(ptsptaObj) {
let pts = ptsptaObj.pts;
return {
rol: pts.rol,
name: pts.nam,
ptyinr: pts.ptyinr,
ptainr: pts.ptainr,
extkey: pts.extkey,
dftdsp: pts.dftdsp,
dftcur: pts.dftcur,
dftact: pts.dftact,
dftfeecur: pts.dftfeecur,
dftactptainr: pts.dftactptainr,
glggrpflg: pts.glggrpflg,
adrblk: pts.adrblk,
pts,
};
},
buildCommonData(model, trnName) {
let ptsptaList = Utils.formatPtspta(model.fxtp.fxdgrp, this.buildPtspta);
return {
rec: {
objtyp: "FXT",
objinr: model.fxtp.fxdgrp.rec.inr,
ownref: model.fxtp.fxdgrp.rec.ownref,
methods: {
buildPtspta(ptsptaObj) {
let pts = ptsptaObj.pts;
return {
rol: pts.rol,
name: pts.nam,
ptyinr: pts.ptyinr,
ptainr: pts.ptainr,
extkey: pts.extkey,
dftdsp: pts.dftdsp,
dftcur: pts.dftcur,
dftact: pts.dftact,
dftfeecur: pts.dftfeecur,
dftactptainr: pts.dftactptainr,
glggrpflg: pts.glggrpflg,
adrblk: pts.adrblk,
pts,
};
},
cbsMap: {
MAX: model.fxtp.fxdgrp.cbs.max,
NOM1: model.fxtp.fxdgrp.cbs.nom1,
buildCommonData(model, trnName) {
let ptsptaList = Utils.formatPtspta(model.fxdgrp, this.buildPtspta);
return {
rec: {
objtyp: "FXD",
objinr: model.fxdgrp.rec.inr,
ownref: model.fxdgrp.rec.ownref,
fxtyp: model.fxdgrp.rec.fxtyp,
acc: model.fxdgrp.rec.acc,
acc2: model.fxdgrp.rec.acc2,
dsp: model.fxdgrp.rec.dsp,
dsp2: model.fxdgrp.rec.dsp2,
trdint: model.fxdgrp.rec.trdint,
trdout: model.fxdgrp.rec.trdout,
trnman: model.fxdgrp.rec.trnman,
rat: model.fxdgrp.rec.rat,
},
cbsMap: {
MAX: model.fxdgrp.cbs.max,
NOM1: model.fxdgrp.cbs.nom1,
},
ptsList: ptsptaList,
transName: trnName,
userId: window.sessionStorage.userId ? window.sessionStorage.userId : "ZL",
};
},
ptsList: ptsptaList,
transName: trnName,
userId: window.sessionStorage.userId ? window.sessionStorage.userId : "ZL",
};
},
},
};
import commonFunctions from '~/mixin/commonFunctions.js';
import Api from '~/service/Api';
import commonFunctions from "~/mixin/commonFunctions.js";
import Api from "~/service/Api";
export default {
mixins: [commonFunctions],
methods: {
async getOwnref(){
mixins: [commonFunctions],
methods: {
async getOwnref() {
if (this.model.fxdgrp.rec.fxtyp == "") {
this.$notify.warning({
title: "提示",
message: "请先选择结售汇类型!",
});
return;
}
const loading = this.loading();
let res = await Api.post(
`/${this.moduleRouter()}/fxtsss/getRef`,
this.model
);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
return;
}
this.model.fxdgrp.rec.ownref = res.data;
},
}
}
}
\ No newline at end of file
async defaultAccountsN1000() {
if (this.model.fxdgrp.rec.fxtyp == "") {
return;
}
if (this.model.fxdgrp.cbs.max.cur == "") {
return;
}
if (this.model.fxdgrp.apl.pts.ptyinr == "") {
return;
}
const loading = this.loading();
let res = await Api.post(
`/${this.moduleRouter()}/fxtsss/defaultAccountsN1000`,
this.model
);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
return;
}
// this.updateValueSet(res.codeSet);
this.model.accLst = res.codeSet["accLst"];
this.model.accLst2 = res.codeSet["acc2Lst"];
this.model.fxdgrp.rec.acc = res.data.fxdgrp.rec.acc;
this.model.fxdgrp.rec.acc2 = res.data.fxdgrp.rec.acc2;
},
async defaultRateN1000() {
if (this.model.fxdgrp.rec.fxtyp == "") {
return;
}
if (this.model.fxdgrp.cbs.max.cur == "") {
return;
}
if (this.model.fxdgrp.apl.pts.ptyinr == "") {
return;
}
const loading = this.loading();
let res = await Api.post(
`/${this.moduleRouter()}/fxtsss/defaultRateN1000`,
this.model
);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
return;
}
this.model.fxdgrp.rec.rat = res.data.fxdgrp.rec.rat;
this.model.fxdgrp.rec.midrat = res.data.fxdgrp.rec.midrat;
},
async defaultAccAndRate() {
this.defaultAccountsN1000();
await this.defaultRateN1000();
this.defaultCalculateN1100();
},
async defaultCalculateN1100() {
if (this.model.fxdgrp.rec.rat == "") {
return;
}
if (this.model.fxdgrp.cbs.max.cur == "") {
return;
}
if (
this.model.fxdgrp.cbs.max.amt == "" ||
this.model.fxdgrp.cbs.max.amt == 0
) {
return;
}
const loading = this.loading();
let res = await Api.post(
`/${this.moduleRouter()}/fxtsss/defaultCalculateN1100`,
this.model
);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
return;
}
this.model.fxdgrp.cbs.max.amt = res.data.fxdgrp.cbs.max.amt;
this.model.fxdgrp.cbs.nom1.amt = res.data.fxdgrp.cbs.nom1.amt;
},
},
};
export default {
"fxtp.fxdgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
import JshmodCheck from "~/components/business/jshmod/model/check";
"fxtp.fxdgrp.rec.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"fxtp.fxdgrp.apl.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 20,message:"长度不能超过20"}
],
"fxtp.usrget.usr.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"fxtp.usrget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"fxtp.aplp.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fxtp.aplp.ptspta.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fxtp.aplp.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"fxtp.aplp.ptspta.pts.adrblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"fxtp.aplp.ptspta.dbfadrblkcn":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"fxtp.fxdgrp.cbs.max.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"fxtp.fxdgrp.cbs.nom1.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"fxtp.fxdgrp.rec.rat":[
{type: "string", required: false, message: "必输项"},
{max: 12,message:"长度不能超过12"}
],
"fxtp.fxdgrp.rec.quoref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fxtp.fxdgrp.rec.midrat":[
{type: "string", required: false, message: "必输项"},
{max: 12,message:"长度不能超过12"}
],
"fxtp.fxdgrp.rec.fudref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fxtp.fxdgrp.rec.opndat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"fxtp.fxdgrp.rec.valdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"fxtp.fxdgrp.rec.setdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"fxtp.fxdgrp.rec.setdatto":[
{type: "date", required: false, message: "输入正确的日期"}
],
"fxtp.fxdgrp.rec.setdatfrm":[
{type: "date", required: false, message: "输入正确的日期"}
],
"fxtp.fxdgrp.blk.remark":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
}
\ No newline at end of file
export default function () {
return {
...new JshmodCheck(this).check,
"fxdgrp.rec.ownref": [
{ type: "string", required: false, message: "必输项" },
{ max: 16, message: "长度不能超过16" },
],
"fxdgrp.rec.nam": [
{ type: "string", required: false, message: "必输项" },
{ max: 40, message: "长度不能超过40" },
],
"fxdgrp.apl.pts.ref": [
{ type: "string", required: false, message: "必输项" },
{ max: 20, message: "长度不能超过20" },
],
"fxdgrp.rec.usr": [
{ type: "string", required: false, message: "必输项" },
{ max: 8, message: "长度不能超过8" },
],
"fxdgrp.apl.pts.extkey": [
{ type: "string", required: false, message: "必输项" },
{ max: 16, message: "长度不能超过16" },
],
"fxdgrp.apl.pts.adrblk": [
{ type: "string", required: true, message: "必输项" },
{ max: 35, message: "长度不能超过35" },
],
"fxdgrp.cbs.max.cur": [
{ type: "string", required: true, message: "必输项" },
{ max: 3, message: "3" },
],
"fxdgrp.cbs.max.amt": [
{ type: "string", required: true, message: "必输项" },
{ max: 18, message: "整数位不能超过14位" },
{
pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/,
message: "小数位不能超过3位",
},
],
"fxdgrp.cbs.nom1.amt": [
{ type: "string", required: false, message: "必输项" },
{ max: 18, message: "整数位不能超过14位" },
{
pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/,
message: "小数位不能超过3位",
},
],
"fxdgrp.rec.quoref": [
{ type: "string", required: false, message: "必输项" },
{ max: 16, message: "长度不能超过16" },
],
"fxdgrp.rec.fudref": [
{ type: "string", required: false, message: "必输项" },
{ max: 16, message: "长度不能超过16" },
],
"fxdgrp.rec.opndat": [{ required: true, message: "输入正确的日期" }],
"fxdgrp.rec.valdat": [{ required: true, message: "输入正确的日期" }],
"fxdgrp.rec.setdat": [{ required: false, message: "输入正确的日期" }],
"fxdgrp.rec.setdatto": [{ required: false, message: "输入正确的日期" }],
"fxdgrp.rec.setdatfrm": [{ required: false, message: "输入正确的日期" }],
"fxdgrp.blk.remark": [
{ type: "string", required: false, message: "必输项" },
{ max: 35, message: "长度不能超过35" },
],
"fxdgrp.rec.dsp": [
{ type: "string", required: true, message: "必输项" },
{ max: 2, message: "长度不能超过2" },
],
"fxdgrp.rec.dsp2": [
{ type: "string", required: true, message: "必输项" },
{ max: 2, message: "长度不能超过2" },
],
"fxdgrp.rec.acc": [
{ type: "string", required: true, message: "必输项" },
{ max: 21, message: "长度不能超过21" },
],
"fxdgrp.rec.acc2": [
{ type: "string", required: true, message: "必输项" },
{ max: 21, message: "长度不能超过21" },
],
"fxdgrp.rec.trnman": [
{ type: "string", required: true, message: "必输项" },
{ max: 2, message: "长度不能超过2" },
],
"fxdgrp.rec.trdout": [
{ type: "string", required: true, message: "必输项" },
{ max: 3, message: "长度不能超过3" },
],
};
}
import Api from "~/service/Api"
import Pts from "~/page/Model/Common/Pts"
import Pub from "~/components/business/commonModel/index.js";
import Fxdgrp from '~/components/business/commonModel/fxdgrp';
export default class Fxtsss {
constructor() {
this.data = {
fxtp: {
fxdgrp: {
rec: {
ownref: "", // 结售汇业务参考号 .fxtp.fxdgrp.rec.ownref
nam: "", // 名称 .fxtp.fxdgrp.rec.nam
fxtyp: "", // 结售汇类型 .fxtp.fxdgrp.rec.fxtyp
opndat: "", // 登记日期 .fxtp.fxdgrp.rec.opndat
valdat: "", // 起息日 .fxtp.fxdgrp.rec.valdat
rat: "", // 对外牌价 .fxtp.fxdgrp.rec.rat
midrat: "", // 中间价 .fxtp.fxdgrp.rec.midrat
quoref: "", // 询价编号 .fxtp.fxdgrp.rec.quoref
fudref: "", // 资金部编号 .fxtp.fxdgrp.rec.fudref
setdat: "", // 远期交割日 .fxtp.fxdgrp.rec.setdat
setdatfrm: "", // 择期交割起始日 .fxtp.fxdgrp.rec.setdatfrm
setdatto: "", // 择期交割截止日 .fxtp.fxdgrp.rec.setdatto
trnman: "", // 交易主体 .fxtp.fxdgrp.rec.trnman
trdint: "", // 结售汇类型 .fxtp.fxdgrp.rec.trdint
trdout: "", // 结售汇类型 .fxtp.fxdgrp.rec.trdout
acc: "", // 外币结算账号 .fxtp.fxdgrp.rec.acc
acc2: "", // 本币结算账号 .fxtp.fxdgrp.rec.acc2
dsp: "", // 外币结算账号 .fxtp.fxdgrp.rec.dsp
dsp2: "", // 本币结算账号 .fxtp.fxdgrp.rec.dsp2
},
cbs: {
max: {
cur: "", // Currency .fxtp.fxdgrp.cbs.max.cur
amt: "", // Balance .fxtp.fxdgrp.cbs.max.amt
constructor() {
this.data = {
fxtp: {
amtlab: "", // Amount Label .fxtp.amtlab
cnylab: "", // Amount LabelCNY .fxtp.cnylab
frgchk: "", // 外币 .fxtp.frgchk
cnychk: "", // 人民币 .fxtp.cnychk
cshflg: "", // 钞汇标志 .fxtp.cshflg
},
nom1: {
cur: "", // Currency .fxtp.fxdgrp.cbs.nom1.cur
amt: "", // Balance .fxtp.fxdgrp.cbs.nom1.amt
},
},
apl: {
pts: new Pts().data,
},
blk: {
remark: "", // 备注 .fxtp.fxdgrp.blk.remark
},
},
amtlab: "", // Amount Label .fxtp.amtlab
cnylab: "", // Amount LabelCNY .fxtp.cnylab
frgchk: "", // 外币 .fxtp.frgchk
cnychk: "", // 人民币 .fxtp.cnychk
aplp: {
ptspta: {
pts: new Pts().data,
dbfadrblkcn: "", // Chinese address .fxtp.aplp.ptspta.dbfadrblkcn
},
ptsget: {
sdamod: {
seainf: "", // .fxtp.aplp.ptsget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .fxtp.aplp.ptsget.sdamod.dadsnd
},
},
},
cshflg: "", // 钞汇标志 .fxtp.cshflg
usrget: {
sdamod: {
seainf: "", // .fxtp.usrget.sdamod.seainf
},
usr: {
extkey: "", // User ID .fxtp.usrget.usr.extkey
},
},
},
fxdgrp: {
apl: {
pts: new Pts().data,
},
},
setmod: new Pub().data.Setmod,
docpan: new Pub().data.Docpan,
trndia: new Pub().data.Trndia,
fxdgrp: new Fxdgrp().data,
setmod: new Pub().data.Setmod,
docpan: new Pub().data.Docpan,
trndia: new Pub().data.Trndia,
jshmod: new Pub().data.Jshmod,
}
}
}
}
\ No newline at end of file
<template>
<div class="eContainer">
<c-page title="即期结汇">
<el-form :model="model" :rules="rules" ref="modelForm" label-width="150px" label-position="right" size="small"
:validate-on-rule-change="false">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="myTabClick">
<!--fxtp PD000001 概要 -->
<el-tab-pane :label="$t('fxtp.概要')" name="ovwp">
<c-content>
<m-ovwp :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane label="费用/账务" name="setpan">
<c-content>
<m-setpan :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<el-tab-pane label="报文/面函" name="docpan">
<c-content>
<m-docpan :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<c-function-btn
:handleCheck="handleCheck"
:handleStash="handleStash"
:handleSubmit="handleSubmit"
@handleSureWarning="handleSureWarning"
ref="commonBtn"
></c-function-btn>
</c-page>
</div>
<div class="eContainer">
<c-page title="即期结汇">
<el-form :model="model" :rules="rules" ref="modelForm" label-width="150px" label-position="right"
size="small"
:validate-on-rule-change="false">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="myTabClick">
<!--fxtp PD000001 概要 -->
<el-tab-pane :label="$t('fxtp.概要')" name="ovwp">
<c-content>
<m-ovwp :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
<el-tab-pane label="费用/账务" name="setpan">
<c-content>
<m-setpan :codes="codes" :model="model"/>
</c-content>
</el-tab-pane>
<!-- <el-tab-pane label="报文/面函" name="docpan">-->
<!-- <c-content>-->
<!-- <m-docpan :codes="codes" :model="model"/>-->
<!-- </c-content>-->
<!-- </el-tab-pane>-->
<el-tab-pane label="结售汇申报" name="jshmod">
<c-content>
<m-jshmod :codes="codes" :model="model" ref="jshmod" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<c-function-btn
:handleCheck="handleCheck"
:handleStash="handleStash"
:handleSubmit="handleSubmit"
@handleSureWarning="handleSureWarning"
ref="commonBtn"
></c-function-btn>
</c-page>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Fxtsss from "../model"
import Ovwp from "./Ovwp"
import Setpan from "~/components/business/setmod/views";
import Docpan from "~/components/business/docpan/views";
import CodeTable from "~/config/CodeTable"
import Fxtsss from "../model"
import Ovwp from "./Ovwp"
import Setpan from "~/components/business/setmod/views";
import Docpan from "~/components/business/docpan/views";
import operationFunc from "~/mixin/operationFunc";
import commonDepend from "~/mixin/commonDepend";
import event from "../event";
import Check from "../model/Check.js";
import buildFn from "../event/buildCommons.js";
export default {
name: "Fxtsss",
components: {
"m-ovwp": Ovwp,
"m-setpan": Setpan,
"m-docpan": Docpan,
},
provide() {
return {
root: this
}
},
mixins: [operationFunc, commonDepend, event, buildFn],
data() {
return {
tabVal: "ovwp",
trnName: "fxtsss",
trnType: "",
model: new Fxtsss().data,
rules: Check,
codes: { ...CodeTable },
}
},
methods: {
myTabClick(tab) {
this.tabClick(tab)
}
},
created: async function () {
console.log("进入fxtsss交易");
let params = {
transName: this.trnName,
fxdgrp: {
rec: {
inr: this.$route.query.inr || "",
import operationFunc from "~/mixin/operationFunc";
import commonDepend from "~/mixin/commonDepend";
import event from "../event";
import Check from "../model/Check.js";
import buildFn from "../event/buildCommons.js";
import Jshmod from "~/components/business/jshmod/views/index";
export default {
name: "Fxtsss",
components: {
"m-ovwp": Ovwp,
"m-setpan": Setpan,
"m-docpan": Docpan,
"m-jshmod": Jshmod,
},
},
};
this.init(params)
}
}
provide() {
return {
root: this
}
},
mixins: [operationFunc, commonDepend, event, buildFn],
data() {
return {
tabVal: "ovwp",
trnName: "fxtsss",
trnType: "",
model: new Fxtsss().data,
rules: Check,
codes: {...CodeTable},
}
},
methods: {
myTabClick(tab) {
this.tabClick(tab)
}
},
created: async function () {
console.log("进入fxtsss交易");
let params = {
transName: this.trnName,
fxdgrp: {
rec: {
inr: this.$route.query.inr || "",
},
},
};
this.init(params)
}
}
</script>
<style></style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment