Commit aa3798b0 by jianglong

Merge branch 'develop' of http://114.115.138.98:8900/isc-v3.1/isc-web-vue into develop

parents 5094b49d 7e474d5c
......@@ -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: {
......
......@@ -9825,22 +9825,6 @@ const CodeTable = {
{label: "头寸调拨", value: "PT"},
{label: "资金拆出", value: "LO"},
],
fxt_fxtyp: [
{label: "远期结汇", value: "UB"},
{label: "即期结汇", value: "SB"},
{label: "择期结汇", value: "NB"},
{label: "代客外汇买入", value: "XB"},
{label: "外汇平盘买入", value: "BX"},
{label: "择期售汇", value: "NS"},
{label: "兑换平盘卖出", value: "FS"},
{label: "平盘买入", value: "LB"},
{label: "远期售汇", value: "US"},
{label: "代客外汇卖出", value: "XS"},
{label: "即期售汇", value: "SS"},
{label: "外汇平盘卖出", value: "SX"},
{label: "平盘卖出", value: "LS"},
{label: "兑换平盘买入", value: "FB"},
],
mttyp: [
{label: "100", value: "100"},
{label: "103", value: "103"},
......
......@@ -33,14 +33,14 @@ if (process.env.NODE_ENV === 'production') {//生产模式
}
} else {//开发模式
baseData = {
"hostFunds":"localhost:28090",
"hostFunds":"localhost:31096",
"hostPublic": "localhost:31081",
"hostPublic": "192.168.0.114:31081",
"hostReport": "192.168.0.114:31090",
"host": "localhost:31091",
"host": "192.168.0.114:31091",
"hostAdmin": "192.168.0.114:31092",
"hostBusiness": "localhost:31093",
"hostRemittance": "localhost:31094",
"hostBusiness": "192.168.0.114:31093",
"hostRemittance": "192.168.0.114:31094",
"hostFinance": "15.52.176.251:22002",
"hostLc": "15.52.176.251:22002",
"hostDomlc": "15.52.176.251:22002",
......
......@@ -36,6 +36,7 @@ if (process.env.NODE_ENV === 'production') {//生产模式
}
} else {//开发模式
baseData = {
"hostFunds":"localhost:31096",
"host": "114.115.138.98:9391",
"hostAdmin": "114.115.138.98:9388",
"hostBusiness": "15.52.176.251:8083",
......
import Api from "~/service/Api";
import moment from "moment";
import Oftopn from '../model';
export default {
methods: {
async handleSearch() {
let rsptims = this.model.oftp.rel.rsptims;
if (!rsptims || rsptims === "") {
this.$notify.error({
title: this.$t("financing.错误"),
message: this.$t("financing.查询开始日期必输!"),
});
return;
}
let rsptime = this.model.oftp.rel.rsptime;
if (!rsptime || rsptime === "") {
this.$notify.error({
title: this.$t("financing.错误"),
message: this.$t("financing.查询结束日期必输!"),
});
return;
}
this.load = true;
// TODO rewrite url
let rtnmsg = await Api.post("/gjzf/msgsel/query", {
...this.model.oftp.rel,
pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize,
rsptims: moment(rsptims).format("YYYY-MM-DD"),
rsptime: moment(rsptime).format("YYYY-MM-DD"),
});
if (rtnmsg.respCode == SUCCESS) {
this.load = false;
this.stmData.data = [];
const {list} = rtnmsg.data;
this.stmData.data = list;
this.pagination = {
pageNum: rtnmsg.data.pageNum || 1,
pageSize: rtnmsg.data.pageSize || 10,
total: parseInt(rtnmsg.data.total),
};
} else {
this.$notify.error({
title: this.$t("financing.错误"),
message: this.$t("financing.服务请求失败!"),
});
}
this.load = false;
},
async handleReset() {
this.model = new Oftopn().data;
},
// pageSize改变
handleSizeChange(val) {
......
......@@ -6,29 +6,106 @@
<el-row>
<c-col :span="24">
<c-col :span="8">
<el-form-item label="报文标准" prop="" style="width: 100%">
<el-form-item label="起止日期" style="width: 100%">
<c-col :span="11">
<c-date-picker type="date" v-model="model.oftp.rel.rsptims" style="width: 100%"></c-date-picker>
</c-col>
<c-col :span="2" style="text-align: center">
<label style="display: inline-block; width: 100%">-</label>
</c-col>
<c-col :span="11">
<c-date-picker type="date" v-model="model.oftp.rel.rsptime" style="width: 100%"></c-date-picker>
</c-col>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="报文标准" style="width: 100%">
<c-select v-model="model.oftp.rel.msgtyp" style="width: 100%"
:code="codes.msgtyp3" />
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="报文类型" prop="subtype" style="width: 100%">
<el-form-item label="报文类型" style="width: 100%">
<el-select v-model="model.oftp.rel.mty" >
<el-option v-for="code in subtypCodes" :key="code.label" :label="code.label" :value="code.value">
</el-option>
</el-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="发报行BIC" prop="" style="width: 100%">
<c-input v-model="model.oftp.rel.sedbak" style="width: 100%" />
</el-form-item>
</c-col>
</c-col>
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle">
<c-col :span="24">
<c-col :span="8">
<el-form-item label="发报行BIC" style="width: 100%">
<c-input v-model="model.oftp.rel.sedbak" style="width: 100%" />
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="收报行BIC" style="width: 100%">
<c-input v-model="model.oftp.rel.revbak" style="width: 100%" />
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="账户行BIC" style="width: 100%">
<c-input v-model="model.oftp.rel.actbic" style="width: 100%" />
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="8">
<el-form-item label="借贷" style="width: 100%">
<c-select v-model="model.oftp.rel.dcflg" style="width: 100%" :code="codes.dcflg" />
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="币种" style="width: 100%">
<c-select v-model="model.oftp.rel.cur" style="width: 100%" :code="codes.cur" />
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
:label="$t('lc.金额区间')"
style="width: 100%"
>
<c-col :span="11">
<c-input
v-model="model.oftp.rel.atmd"
:placeholder="$t('lc.请输入金额下限')"
style="width: 100%"
></c-input>
</c-col>
<c-col :span="2" style="text-align: center">
<label style="display: inline-block; width: 100%">-</label>
</c-col>
<c-col :span="11">
<c-input
v-model="model.oftp.rel.amtu"
:placeholder="$t('lc.请输入金额上限')"
style="width: 100%"
></c-input>
</c-col>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="8">
<el-form-item label="20域编号" style="width: 100%">
<c-input v-model="model.oftp.rel.ref" maxlength="40" >
</c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="21域编号" style="width: 100%">
<c-input v-model="model.oftp.rel.relref" maxlength="40" >
</c-input>
</el-form-item>
</c-col>
</c-col>
</el-row>
</template>
</c-list-search>
......@@ -88,32 +165,52 @@ export default {
columns: [
{
label: "报文种类",
prop: "num",
prop: "mty",
width: "120px"
},
{
label: "收发时间",
prop: "num",
prop: "rsptim",
width: "120px"
},
{
label: "G渠道",
prop: "num",
prop: "sweflg",
width: "120px"
},
{
label: "记账类型",
prop: "num",
prop: "typ",
width: "120px"
},
{
label: "收支",
prop: "num",
prop: "dcflg",
width: "120px"
},
{
label: "金额",
prop: "num",
prop: "amt",
width: "120px"
},
{
label: "币种",
prop: "cur",
width: "120px"
},
{
label: "关联状态",
prop: "sta",
width: "120px"
},
{
label: "处理状态",
prop: "area",
width: "120px"
},
{
label: "起息日",
prop: "valdat",
width: "120px"
},
{
......@@ -128,37 +225,42 @@ export default {
},
{
label: "目标渠道",
prop: "num",
prop: "multimsg",
width: "120px"
},
{
label: "源渠道",
prop: "num",
prop: "chk",
width: "120px"
},
{
label: "下一渠道",
prop: "kpatyp",
width: "120px"
},
{
label: "发报行BIC",
prop: "num",
prop: "sedbak",
width: "120px"
},
{
label: "收报行BIC",
prop: "num",
prop: "revbak",
width: "120px"
},
{
label: "账户行BIC",
prop: "num",
prop: "actbic",
width: "120px"
},
{
label: "勾销标识",
prop: "num",
prop: "offsta",
width: "120px"
},
{
label: "最后处理时间",
prop: "num",
prop: "lstdat",
width: "120px"
}],
data: [],
......
......@@ -27,6 +27,15 @@ export default {
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,
......
......@@ -5,6 +5,74 @@ import commonFunctions from "~/mixin/commonFunctions.js";
export default {
mixins: [commonFunctions],
methods: {
async getOwnref() {},
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()}/fxtlop/getRef`, this.model);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
return;
}
this.model.fxdgrp.rec.ownref = res.data;
},
async defaultAccAndRate() {
this.defaultRateN1000();
console.log("defaultAccAndRate")
this.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();
console.log( this.model);
let res = await Api.post(`/${this.moduleRouter()}/fxtlop/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;
},
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()}/fxtlop/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;
},
},
};
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 Fxtlop {
constructor() {
......@@ -8,57 +9,13 @@ export default class Fxtlop {
setmod: new Pub().data.Setmod,
docpan: new Pub().data.Docpan,
trndia: new Pub().data.Trndia,
fxdgrp: {
rec: {
ownref: "", // 业务编号 .fxdgrp.rec.ownref
nam: "", // 业务名称 .fxdgrp.rec.nam
fxtyp: "", // 平盘类型 .fxdgrp.rec.fxtyp
opndat: "", // 成交日 .fxdgrp.rec.opndat
valdat: "", // 起息日 .fxdgrp.rec.valdat
rat: "", // 平盘牌价 .fxdgrp.rec.rat
midrat: "", // 中间价 .fxdgrp.rec.midrat
},
apl: {
pts: new Pts().data,
dbfadrblkcn: "", // Chinese address .fxdgrp.apl.dbfadrblkcn
},
blk: {
remark: "", // 备注 .fxdgrp.blk.remark
},
cbs: {
max: {
cur: "", // Currency .fxdgrp.cbs.max.cur
amt: "", // Balance .fxdgrp.cbs.max.amt
},
nom1: {
cur: "", // Currency .fxdgrp.cbs.nom1.cur
amt: "", // Balance .fxdgrp.cbs.nom1.amt
},
},
},
fxdgrp: new Fxdgrp().data,
fxtp: {
amtlab: "", // Amount Label .fxtp.amtlab
cnylab: "", // Amount LabelCNY .fxtp.cnylab
frgchk: "", // 外币 .fxtp.frgchk
cnychk: "", // 人民币 .fxtp.cnychk
aplp: {
ptsget: {
sdamod: {
seainf: "", // .fxtp.aplp.ptsget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .fxtp.aplp.ptsget.sdamod.dadsnd
},
},
},
usrget: {
sdamod: {
seainf: "", // .fxtp.usrget.sdamod.seainf
},
},
usr: {
extkey: "", // 业务负责人 .fxtp.usr.extkey
},
},
pageId: "", // ctx的key
};
}
}
}
}
......@@ -18,7 +18,7 @@
style="margin: 0 0"
size="small"
type="primary"
:disabled="model.fxdgrp.apl.pts.ptainr === ''"
:disabled="getOwnrefFlg"
@click="getOwnref"
>
获取
......@@ -28,11 +28,8 @@
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="业务负责人" prop="fxdgrp.rec.ownusr">
<c-input
v-model="model.fxdgrp.rec.ownusr"
placeholder="请输入业务负责人"
/>
<c-form-item label="业务负责人" prop="fxdgrp.rec.usr">
<c-input v-model="model.fxdgrp.rec.usr" placeholder="请输入业务负责人" disabled></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
......@@ -42,6 +39,7 @@
style="width: 100%"
placeholder="请输入平盘类型"
:code="codes.fxt_fxtyp"
:filterKey="['LB', 'LS']"
>
</c-select>
</el-form-item>
......@@ -52,7 +50,8 @@
<c-select-cur
v-model="model.fxdgrp.cbs.max.cur"
style="width: 100%"
:code="codes.bopcur"
dbCode="curtxt"
@change="defaultAccAndRate"
>
</c-select-cur>
</el-form-item>
......@@ -140,7 +139,7 @@
<c-col :span="12" style="padding-right: 20px">
<c-col :span="24">
<c-form-item :label="$t('fxtlop.业务名称')" prop="fxdgrp.rec.nam">
<c-input v-model="model.fxdgrp.rec.nam" maxlength="40" ></c-input>
<c-input v-model="defaultNam950" maxlength="40" disabled></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
......@@ -192,6 +191,25 @@ export default {
data() {
return {};
},
computed:{
getOwnrefFlg: function () {
let flg = this.model.fxdgrp.rec.fxtyp == '' || this.model.fxdgrp.apl.pts.ptainr == ''
|| this.model.fxdgrp.cbs.max.cur == '' || this.model.fxdgrp.rec.ownref != ''
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;
},
},
methods: {
//获取码值
getCodelabel(value, codenam) {
const codeobj = this.codes[codenam].find(obj => obj.value === value)
return codeobj ? codeobj.label : value;
},
},
created: function () {},
};
</script>
......
......@@ -24,9 +24,18 @@ export default {
let ptsptaList = Utils.formatPtspta(model.fxdgrp, this.buildPtspta);
return {
rec: {
objtyp: "FXT",
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,
......
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],
......@@ -7,13 +7,16 @@ export default {
async getOwnref() {
if (this.model.fxdgrp.rec.fxtyp == "") {
this.$notify.warning({
title: '提示',
message: '请先选择结售汇类型!'
title: "提示",
message: "请先选择结售汇类型!",
});
return;
}
const loading = this.loading();
let res = await Api.post(`/${this.moduleRouter()}/fxtssb/getRef`, this.model);
let res = await Api.post(
`/${this.moduleRouter()}/fxtssb/getRef`,
this.model
);
loading.close();
if (res.respCode !== SUCCESS) {
this.$message.error(res.respMsg);
......@@ -33,17 +36,78 @@ export default {
return;
}
const loading = this.loading();
let res = await Api.post(`/${this.moduleRouter()}/fxtssb/defaultAccountsN1000`, this.model);
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.accLst = res.codeSet["accLst"];
this.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 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
) {
this.model.fxdgrp.cbs.nom1.amt = "0.00";
return;
}
}
\ No newline at end of file
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: 140, message: "长度不能超过140" },
],
"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位"}
],
"fxdgrp.rec.rat": [
{type: "string", required: false, message: "必输项"},
{max: 12, message: "长度不能超过12"}
{ 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.midrat": [
{type: "string", required: false, message: "必输项"},
{max: 12, message: "长度不能超过12"}
{ type: "string", required: false, message: "必输项" },
{ max: 16, message: "长度不能超过16" },
],
"fxdgrp.rec.fudref": [
{type: "string", required: false, message: "必输项"},
{max: 16, message: "长度不能超过16"}
],
"fxdgrp.rec.opndat": [
{type: "date", required: true, message: "输入正确的日期"}
],
"fxdgrp.rec.valdat": [
{type: "date", required: true, message: "输入正确的日期"}
],
"fxdgrp.rec.setdat": [
{type: "date", required: false, message: "输入正确的日期"}
],
"fxdgrp.rec.setdatto": [
{type: "date", required: false, message: "输入正确的日期"}
],
"fxdgrp.rec.setdatfrm": [
{type: "date", 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" },
],
};
}
......@@ -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
......@@ -31,6 +31,7 @@
<c-col :span="24">
<el-form-item :label="$t('fxtp.结售汇类型')" prop="fxdgrp.rec.fxtyp">
<c-select v-model="model.fxdgrp.rec.fxtyp" :code="codes.fxt_fxtyp" style="width:100%"
:filterKey="['SB']"
@change="defaultAccountsN1000">
</c-select>
</el-form-item>
......@@ -40,7 +41,7 @@
<c-col :span="12">
<el-form-item label="Purchase Amount" prop="fxdgrp.cbs.max.cur">
<c-select-cur v-model="model.fxdgrp.cbs.max.cur" style="width: 100%"
dbCode="curtxt" @change="defaultAccountsN1000"
dbCode="curtxt" @change="defaultAccAndRate"
></c-select-cur>
</el-form-item>
</c-col>
......@@ -48,7 +49,8 @@
<el-form-item label-width="5px" prop="fxdgrp.cbs.max.amt">
<c-input-currency
:currency="model.fxdgrp.cbs.max.cur"
v-model="model.fxdgrp.cbs.max.amt"></c-input-currency>
v-model="model.fxdgrp.cbs.max.amt"
@change="defaultCalculateN1100"></c-input-currency>
</el-form-item>
</c-col>
</c-col>
......@@ -124,7 +126,9 @@
<c-col :span="24">
<c-col :span="12">
<el-form-item :label="$t('fxtp.外币结算账号')" prop="fxdgrp.rec.dsp">
<c-select v-model="model.fxdgrp.rec.dsp" :code="codes.fxt_dsp" style="width:100%" @change="defaultAccountsN1000">
<c-select v-model="model.fxdgrp.rec.dsp" :code="codes.fxt_dsp" style="width:100%"
:filterKey="['SP','HA','VT','LO']"
@change="defaultAccountsN1000">
</c-select>
</el-form-item>
</c-col>
......@@ -217,7 +221,9 @@
<c-col :span="24">
<c-col :span="12">
<el-form-item :label="$t('fxtp.本币结算账号')" prop="fxdgrp.rec.dsp2">
<c-select v-model="model.fxdgrp.rec.dsp2" :code="codes.fxt_dsp2" style="width:100%" @change="defaultAccountsN1000">
<c-select v-model="model.fxdgrp.rec.dsp2" :code="codes.fxt_dsp2" style="width:100%"
:filterKey="['SP','LO']"
@change="defaultAccountsN1000">
</c-select>
</el-form-item>
</c-col>
......@@ -240,11 +246,8 @@
<c-col :span="24">
<el-form-item :label="$t('fxtp.结售汇类型')" prop="fxdgrp.rec.trdint">
<c-select v-model="model.fxdgrp.rec.trdint" style="width:100%" dbCode="TRAINT">
</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 v-model="model.fxdgrp.rec.trdint" style="width:100%" dbCode="TRAINT"
: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>
</c-col>
......@@ -267,10 +270,12 @@
},
computed: {
getOwnrefFlg: function () {
return this.model.fxdgrp.rec.fxtyp == '' || this.model.fxdgrp.rec.ownref != '';
let flg = this.model.fxdgrp.rec.fxtyp == '' || this.model.fxdgrp.apl.pts.ptainr == ''
|| this.model.fxdgrp.cbs.max.cur == '' || this.model.fxdgrp.rec.ownref != ''
return flg;
},
defaultNam950: function () {
//debugger;
debugger;
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;
......@@ -287,17 +292,17 @@
},
watch: {
//申请人变得 本外币下拉框需变化
//申请人变动 本外币下拉框需变化、账号、汇率变动
'model.fxdgrp.apl.pts.ptyinr': {
handler(newValue) {
if (newValue == "" || newValue == null) {
this.model.fxdgrp.rec.acc = "";
this.model.fxdgrp.rec.acc2 = "";
this.model.accLst = [];
this.model.accLst2 = [];
this.accLst = [];
this.accLst2 = [];
return
}
this.defaultAccountsN1000();
this.defaultAccAndRate();
},
},
}
......
<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-form
:model="model"
:rules="rawRules"
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" />
......@@ -14,9 +26,14 @@
<m-setpan :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<el-tab-pane label="报文/面函" name="docpan">
<!-- <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-docpan :codes="codes" :model="model" />
<m-jshmod :codes="codes" :model="model" ref="jshmod" />
</c-content>
</el-tab-pane>
</c-tabs>
......@@ -32,10 +49,9 @@
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Fxtssb from "../model"
import Ovwp from "./Ovwp"
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";
......@@ -44,33 +60,41 @@ 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,
},
provide() {
return {
root: this
}
root: this,
};
},
mixins: [operationFunc, commonDepend, event, buildFn],
computed: {
rawRules() {
return { ...this.rules, ...Check.apply(this) };
},
},
data() {
return {
tabVal: "ovwp",
trnName: "fxtssb",
trnType: "",
model: new Fxtssb().data,
rules: Check,
rules: { },
codes: { ...CodeTable },
}
};
},
methods: {
myTabClick(tab) {
this.tabClick(tab)
}
this.tabClick(tab);
},
},
created: async function () {
console.log("进入fxtssb交易");
......@@ -82,8 +106,8 @@ export default {
},
},
};
this.init(params)
}
}
this.init(params);
},
};
</script>
<style></style>
......@@ -21,16 +21,25 @@ export default {
};
},
buildCommonData(model, trnName) {
let ptsptaList = Utils.formatPtspta(model.fxtp.fxdgrp, this.buildPtspta);
let ptsptaList = Utils.formatPtspta(model.fxdgrp, this.buildPtspta);
return {
rec: {
objtyp: "FXT",
objinr: model.fxtp.fxdgrp.rec.inr,
ownref: model.fxtp.fxdgrp.rec.ownref,
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.fxtp.fxdgrp.cbs.max,
NOM1: model.fxtp.fxdgrp.cbs.nom1,
MAX: model.fxdgrp.cbs.max,
NOM1: model.fxdgrp.cbs.nom1,
},
ptsList: ptsptaList,
transName: trnName,
......
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(){
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;
},
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.accLst = res.codeSet["accLst"];
this.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
) {
this.model.fxdgrp.cbs.nom1.amt = "0.00";
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;
}
}
\ No newline at end of file
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"}
],
"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位" }
],
import JshmodCheck from "~/components/business/jshmod/model/check";
"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"}
],
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: 140, message: "长度不能超过140" },
],
"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
},
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,
},
},
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">
<el-form
:model="model"
:rules="rawRules"
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>
......@@ -15,9 +27,14 @@
<m-setpan :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<el-tab-pane label="报文/面函" name="docpan">
<!-- <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-docpan :codes="codes" :model="model" />
<m-jshmod :codes="codes" :model="model" ref="jshmod" />
</c-content>
</el-tab-pane>
</c-tabs>
......@@ -33,10 +50,9 @@
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Fxtsss from "../model"
import Ovwp from "./Ovwp"
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";
......@@ -45,33 +61,41 @@ 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,
},
provide() {
return {
root: this
}
root: this,
};
},
mixins: [operationFunc, commonDepend, event, buildFn],
computed: {
rawRules() {
return { ...this.rules, ...Check.apply(this) };
},
},
data() {
return {
tabVal: "ovwp",
trnName: "fxtsss",
trnType: "",
model: new Fxtsss().data,
rules: Check,
rules: {},
codes: { ...CodeTable },
}
};
},
methods: {
myTabClick(tab) {
this.tabClick(tab)
}
this.tabClick(tab);
},
},
created: async function () {
console.log("进入fxtsss交易");
......@@ -83,8 +107,8 @@ export default {
},
},
};
this.init(params)
}
}
this.init(params);
},
};
</script>
<style></style>
......@@ -42,6 +42,9 @@ export default {
else if(this.activeTab==="dhpp"){
this.stmDataDh.data = rtnmsg.data.list;
}
else if(this.activeTab==="jshpp"){
this.stmDatajshpp.data = rtnmsg.data.list;
}
this.pagination.total = rtnmsg.data.total;
......
......@@ -229,6 +229,80 @@
</div>
</el-tab-pane>
<el-tab-pane label="结售汇平盘查询" name="jshpp">
<el-table
:data="stmDatajshpp.data"
:columns="stmDatajshpp.columns"
v-loading="load"
style="width: 100%"
size="small"
:border="true"
height="calc(100vh - 480px)"
:highlight-current-row="true"
>
<el-table-column
v-for="(item, key) in stmDatajshpp.columns"
:key="key"
:label="item.label"
:prop="item.prop"
:min-width="item.width"
>
</el-table-column>
<el-table-column fixed="right" prop="op" label="操作" width="180px">
<template slot="header">
<c-col :span="11" style="text-align: center">
<span>操作</span>
</c-col>
</template>
<template slot-scope="scope">
<c-button style="margin-right: 5px" size="small" type="text" @click="handler(scope.row)">处理
</c-button>
<span> </span>
<el-popover
trigger="manual"
v-clickOutside="closeDisplayDialog" placement="top-end" title="历史信息" width="1200" :ref="'popover_' + scope.row.inr">
<div style="text-align: right;margin-top: -30px;margin-right: 5px;font-size: 16px;">
<span class="el-icon-close" style="cursor: pointer" @click="closeDetailsDialog('popover_' + scope.row.inr)"></span>
</div>
<el-table :data="trnData.data" :columns="trnData.columns" :showButtonFlg="true">
<el-table-column v-for="(item, key) in trnData.columns" :key="key" :label="item.label" :prop="item.prop" :width="item.width">
<template slot-scope="scope">
<div>{{ scope.row[item.prop] }}</div>
</template>
</el-table-column>
<el-table-column fixed="right" prop="op" label="操作" width="100px">
<template slot-scope="scope">
<c-button style="margin-left: 0" size="small" @click="display(scope.row)">快照
</c-button>
</template>
</el-table-column>
</el-table>
<c-button style="margin-left: 0" type="text" size="small" slot="reference" @click="details(scope.row)">
快照
</c-button>
<c-button style="margin-left: 0" type="text" size="small" slot="reference" @click="toInfo(scope.row,'FXD')">
Info
</c-button>
</el-popover>
</template>
</el-table-column>
</el-table>
<div class="pagination-box"
style="display:block">
<el-pagination
layout="total, sizes, prev, pager, next, jumper"
:total="pagination.total"
:page-size="pagination.pageSize"
:current-page.sync="pagination.pageNumber"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
>
</el-pagination>
</div>
</el-tab-pane>
<el-tab-pane label="外币兑换平盘查询" name="dhpp">
<el-table
:data="stmDataDh.data"
......@@ -508,6 +582,168 @@ export default {
},
stmDatajshpp: {
columns: [
{
label: "业务编号",
prop: "ownref",
width: "180px",
},
{
label: "业务名称",
prop: "nam",
width: "180px",
},
{
label: "客户名称",
prop: "ownusr",
width: "120px",
},
{
label: "资金部经办人",
prop: "usr",
width: "120px",
},
{
label: "外汇交易类型",
prop: "fxtyp",
width: "120px",
},
{
label: "成交日期",
prop: "opndat",
width: "120px",
},
{
label: "起息日",
prop: "valdat",
width: "120px",
},
{
label: "平盘牌价",
prop: "rat",
width: "120px",
},
{
label: "中间价",
prop: "midrat",
width: "120px",
},
{
label: "询价编号",
prop: "quoref",
width: "120px",
},
{
label: "资金部编号",
prop: "fudref",
width: "120px",
},
{
label: "平盘日期",
prop: "setdat",
width: "120px",
},
{
label: "择期交割起始日",
prop: "setdatfrm",
width: "160px",
},
{
label: "择期交割截止日",
prop: "setdatto",
width: "160px",
},
{
label: "结算日期",
prop: "clsdat",
width: "120px",
},
{
label: "版本",
prop: "ver",
width: "120px",
},
{
label: "分支机构编号",
prop: "branchinr",
width: "120px",
},
{
label: "分支机构关键编号",
prop: "bchkeyinr",
width: "160px",
},
{
label: "交易主体",
prop: "trnman",
width: "120px",
},
{
label: "交易内部编号",
prop: "trdint",
width: "120px",
},
{
label: "交易外部编号",
prop: "trdout",
width: "120px",
},
{
label: "外币结算账号",
prop: "acc",
width: "120px",
},
{
label: "本币结算账号",
prop: "acc2",
width: "120px",
},
{
label: "处置1",
prop: "dsp",
width: "120px",
},
{
label: "处置2",
prop: "dsp2",
width: "120px",
},
{
label: "现金覆盖率",
prop: "cshpct",
width: "120px",
},
{
label: "账户经理",
prop: "accmng",
width: "120px",
},
{
label: "汇率",
prop: "rat1",
width: "120px",
},
{
label: "账户经理部门",
prop: "hdbch",
width: "120px",
},
{
label: "实体外部键",
prop: "etyextkey",
width: "120px",
},
],
data: [],
},
stmDataDh: {
columns: [
{
......
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