Commit c73730b6 by youbaofeng

解决合并冲突

parents 9584d7e8 9ccf108c
import Api from "~/service/Api";
import moment from "moment";
export default {
methods: {
async handleSearch() {
let rcvdatsta = this.model.sndp.rcvdatsta;
if (!rcvdatsta || rcvdatsta == "") {
this.$notify.error({
title: this.$t("financing.错误"),
message: this.$t("financing.查询开始日期必输!"),
});
return;
}
let rcvdatend = this.model.sndp.rcvdatend;
if (!rcvdatend || rcvdatend == "") {
this.$notify.error({
title: this.$t("financing.错误"),
message: this.$t("financing.查询结束日期必输!"),
});
return;
}
this.load = true;
let rtnmsg = await Api.post("/gjzf/msgsel/query", {
...this.model.sndp,
dir: ">",
pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize,
rcvdatsta: moment(rcvdatsta).format("YYYY-MM-DD"),
rcvdatend: moment(rcvdatend).format("YYYY-MM-DD"),
});
if (rtnmsg.respCode == SUCCESS) {
this.load = false;
this.stmData.data = [];
const {list} = rtnmsg.data;
const {codes:{sta1}} = this;
list.forEach(v=>{
for(let i in sta1){
if(sta1[i].value == v.sta){
v.sta = sta1[i].label;
}
}
})
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.sndp.msgtyp = "";
this.model.sndp.rcvdatsta = new Date();
this.model.sndp.rcvdatend = new Date();
this.model.sndp.subtyp = "";
this.model.sndp.sndbak = "";
this.model.sndp.revbak = "";
this.model.sndp.actbic = "";
this.model.sndp.othref = "";
this.model.sndp.ownref = "";
this.model.sndp.cur = "";
this.model.sndp.act = "";
this.model.sndp.amtmin = "";
this.model.sndp.amtmax = "";
this.model.sndp.chnipt = "";
this.model.sndp.rspsta = "";
this.model.sndp.dtlchg = "";
this.model.sndp.sta = "";
},
// pageSize改变
handleSizeChange(val) {
this.pagination.pageNum = 1;
this.pagination.pageSize = val;
this.handleSearch();
},
// 页码改变
handleCurrentChange(val) {
this.pagination.pageNum = val;
this.handleSearch();
},
handleSelectionChange(val){
this.multipleSelection = val;
}
},
};
import Utils from "~/utils"
/**
* Cpssxf Check规则
*/
let checkObj = {
}
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
/**
* Cpssxf Default规则
*/
import Api from "~/service/Api";
import Utils from "~/utils/index"
export default {
}
//你可以添加自动default处理
......@@ -2,8 +2,8 @@ import Api from "~/service/Api"
import Utils from "~/utils"
export default {
async onFttpButgetref(){
let rtnmsg = await this.executeRule("fttp.butgetref")
async onSxfpSel(){
let rtnmsg = await this.executeRule("sxfp.sel")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
......@@ -14,8 +14,8 @@ export default {
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onTropDet(){
let rtnmsg = await this.executeRule("trop.det")
async onSxfpClr(){
let rtnmsg = await this.executeRule("sxfp.clr")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
......@@ -26,8 +26,8 @@ export default {
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onTripDet(){
let rtnmsg = await this.executeRule("trip.det")
async onSxfpAdd(){
let rtnmsg = await this.executeRule("sxfp.add")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
......@@ -38,8 +38,20 @@ export default {
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onBenpDet(){
let rtnmsg = await this.executeRule("benp.det")
async onSxfpDvd(){
let rtnmsg = await this.executeRule("sxfp.dvd")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onSxfpPfa(){
let rtnmsg = await this.executeRule("sxfp.pfa")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
......
export default {
"sxfp.stadat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"sxfp.enddat":[
{type: "date", required: false, message: "输入正确的日期"}
],
}
\ No newline at end of file
import Api from "~/service/Api"
import Pts from "~/page/Model/Common/Pts"
export default class Cpssxf{
constructor () {
this.data = {
mgsp:{
stadat:"", // 收报日期(查询) .mgsp.stadat
enddat:"", // 发报日期(查询) .mgsp.enddat
exp:"", // 导出 .sxfp.exp
},
mgsgrp:{
sxflst:[], // .sxfgrp.sxflst
},
pageId: "" // ctx的key
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<!-- 持续展示区 -->
<template v-slot="searchSlot">
<el-row>
<c-col :span="24">
<c-col :span="8">
<el-form-item label="系统名称" prop="" style="width: 100%">
<c-select v-model="model.mgsp.stadat" style="width: 100%" placeholder="请选择报文标准"
:code="codes.subtyp"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="报文类型" prop="" style="width: 100%">
<c-select v-model="model.mgsp.stadat" style="width: 100%" placeholder="请选择报文标准"
:code="codes.subtyp"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="起使日期" prop="rcvdatsta" style="width: 100%">
<c-date-picker
type="date"
v-model="model.mgsp.stadat"
style="width: 100%"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="截止日期" prop="rcvdatsta" style="width: 100%">
<c-date-picker
type="date"
v-model="model.mgsp.stadat"
style="width: 100%"
></c-date-picker>
</el-form-item>
</c-col>
</c-col>
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle"> </el-row>
</template>
</c-list-search>
<el-col :span="24" style="margin-top: 2px; margin-bottom: 1px">
<c-button
class="medium_bcs"
size="medium"
style="margin-left: 0"
type="primary"
>{{ $t("public.导出") }}
</c-button>
</el-col>
<el-col :span="24" style="margin-top: 10px">
<div style="height: 90%">
<c-col :span="24">
<el-tabs v-model="activeTab" class="y-tabs">
<el-tab-pane label="汇总查询" name="fb">
<el-table
:data="stmData.data"
:columns="stmData.columns"
v-loading="load"
style="width: 100%"
@selection-change="handleSelectionChange"
size="small"
:border="true"
height="calc(100vh - 480px)"
:highlight-current-row="true"
>
<!-- <el-table-column type="selection" width="55"> </el-table-column> -->
<el-table-column
v-for="(item, key) in stmData.columns"
:key="key"
:label="item.label"
:prop="item.prop"
:min-width="item.width"
>
</el-table-column>
</el-table>
<el-pagination
layout="total, sizes, prev, pager, next, jumper"
:total="pagination.total"
:page-size="pagination.pageSize"
:current-page.sync="pagination.pageNum"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
>
</el-pagination>
</el-tab-pane>
</el-tabs>
</c-col>
</div>
</el-col>
</div>
</template>
<script>
import event from "../event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeTab: "fb",
load: false,
subtypCodes: [],
multipleSelection: [],
stmData: {
columns: [
{
label: "系统名称",
prop: "sta",
width: "120px",
},
{
label: "机构名称",
prop: "amt",
width: "120px",
},
{
label: "报文类型",
prop: "stadat",
width: "120px",
},
{
label: "方向",
prop: "enddat",
width: "120px",
},
{
label: "笔数",
prop: "enddat",
width: "120px",
},
{
label: "金额",
prop: "enddat",
width: "120px",
},
{
label: "起使日期",
prop: "enddat",
width: "120px",
},
{
label: "截止日期",
prop: "enddat",
width: "120px",
},
],
data: [],
},
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
};
},
computed: {
isFoldDisable: function () {
return this.multipleSelection.length == 0;
},
isRoutingDisable: function () {
return this.multipleSelection.length == 0;
},
},
methods: {},
mounted: function () {},
};
</script>
<style lang="less" scoped>
::v-deep .c-content-scrollbar {
height: 100% !important;
}
.eibs-tabs /deep/ {
.m-table-search {
padding: 20px 0px 10px 0px;
}
}
.header-wrap {
height: 36px;
display: flex;
justify-content: space-between;
align-items: center;
.title {
font-size: 16px;
color: #000;
}
.close-btn {
padding: 3px;
cursor: pointer;
}
}
.m-list-btns {
height: 300px;
overflow: auto;
}
.medium_bcs {
border-radius: 5px;
}
.m-table-search {
padding: 20px 0px 10px 0px;
}
.pagination-box {
width: 100%;
height: 30px;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0 10px;
background: #fff;
margin-top: 5px;
}
.el-dialog__body {
padding: 10px 5px 50px;
}
.m-table-search {
padding: 20px 0px 10px 0px;
}
.btn-group-wrap {
max-height: 200px;
width: 100%;
overflow-y: auto;
display: flex;
align-items: flex-start;
justify-content: flex-start;
flex-wrap: wrap;
}
.btn-item {
margin-bottom: 10px;
margin-right: 10px;
}
</style>
<template>
<div class="eContainer-search">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
label-width="120px"
label-position="right"
size="small"
:validate-on-rule-change="false"
>
<c-content>
<m-mainpl :model="model" :codes="codes" ref="mainpl"/>
</c-content>
</el-form>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Cpssxf from "../model";
import event from "../event"
import Mainplmgs from "./Mainmgs.vue"
export default {
name: "Cpswjz",
components:{
"m-mainpl" : Mainplmgs,
},
provide() {
return {
root: this
}
},
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "mainpl",
trnName: "cpssxf",
model: new Cpssxf().data,
rules: null,
codes:{...CodeTable},
};
},
methods:{},
created:async function() {},
};
</script>
<style scoped>
</style>
\ No newline at end of file
import Api from "~/service/Api";
import moment from "moment";
export default {
methods: {
async handleSearch() {
let rcvdatsta = this.model.sndp.rcvdatsta;
if (!rcvdatsta || rcvdatsta == "") {
this.$notify.error({
title: this.$t("financing.错误"),
message: this.$t("financing.查询开始日期必输!"),
});
return;
}
let rcvdatend = this.model.sndp.rcvdatend;
if (!rcvdatend || rcvdatend == "") {
this.$notify.error({
title: this.$t("financing.错误"),
message: this.$t("financing.查询结束日期必输!"),
});
return;
}
this.load = true;
let rtnmsg = await Api.post("/gjzf/msgsel/query", {
...this.model.sndp,
dir: ">",
pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize,
rcvdatsta: moment(rcvdatsta).format("YYYY-MM-DD"),
rcvdatend: moment(rcvdatend).format("YYYY-MM-DD"),
});
if (rtnmsg.respCode == SUCCESS) {
this.load = false;
this.stmData.data = [];
const {list} = rtnmsg.data;
const {codes:{sta1}} = this;
list.forEach(v=>{
for(let i in sta1){
if(sta1[i].value == v.sta){
v.sta = sta1[i].label;
}
}
})
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.sndp.msgtyp = "";
this.model.sndp.rcvdatsta = new Date();
this.model.sndp.rcvdatend = new Date();
this.model.sndp.subtyp = "";
this.model.sndp.sndbak = "";
this.model.sndp.revbak = "";
this.model.sndp.actbic = "";
this.model.sndp.othref = "";
this.model.sndp.ownref = "";
this.model.sndp.cur = "";
this.model.sndp.act = "";
this.model.sndp.amtmin = "";
this.model.sndp.amtmax = "";
this.model.sndp.chnipt = "";
this.model.sndp.rspsta = "";
this.model.sndp.dtlchg = "";
this.model.sndp.sta = "";
},
// pageSize改变
handleSizeChange(val) {
this.pagination.pageNum = 1;
this.pagination.pageSize = val;
this.handleSearch();
},
// 页码改变
handleCurrentChange(val) {
this.pagination.pageNum = val;
this.handleSearch();
},
handleSelectionChange(val){
this.multipleSelection = val;
}
},
};
import Utils from "~/utils"
/**
* Cpssxf Check规则
*/
let checkObj = {
}
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
/**
* Cpssxf Default规则
*/
import Api from "~/service/Api";
import Utils from "~/utils/index"
export default {
}
//你可以添加自动default处理
......@@ -2,8 +2,8 @@ import Api from "~/service/Api"
import Utils from "~/utils"
export default {
async onFxtpButgetref(){
let rtnmsg = await this.executeRule("fxtp.butgetref")
async onSxfpSel(){
let rtnmsg = await this.executeRule("sxfp.sel")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
......@@ -14,8 +14,8 @@ export default {
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onAplpDet(){
let rtnmsg = await this.executeRule("aplp.det")
async onSxfpClr(){
let rtnmsg = await this.executeRule("sxfp.clr")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
......@@ -26,8 +26,8 @@ export default {
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onAplaccpDet(){
let rtnmsg = await this.executeRule("aplaccp.det")
async onSxfpAdd(){
let rtnmsg = await this.executeRule("sxfp.add")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
......@@ -38,8 +38,8 @@ export default {
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onActpDet(){
let rtnmsg = await this.executeRule("actp.det")
async onSxfpDvd(){
let rtnmsg = await this.executeRule("sxfp.dvd")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
......@@ -50,116 +50,8 @@ export default {
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onA53pDet(){
let rtnmsg = await this.executeRule("a53p.det")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onB53pDet(){
let rtnmsg = await this.executeRule("b53p.det")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onInipDet(){
let rtnmsg = await this.executeRule("inip.det")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onB56pDet(){
let rtnmsg = await this.executeRule("b56p.det")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onRbcpDet(){
let rtnmsg = await this.executeRule("rbcp.det")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onOwcpDet(){
let rtnmsg = await this.executeRule("owcp.det")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onC84pDet(){
let rtnmsg = await this.executeRule("c84p.det")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onB58pDet(){
let rtnmsg = await this.executeRule("b58p.det")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onC88pDet(){
let rtnmsg = await this.executeRule("c88p.det")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onC85pDet(){
let rtnmsg = await this.executeRule("c85p.det")
async onSxfpPfa(){
let rtnmsg = await this.executeRule("sxfp.pfa")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
......
export default {
"sxfp.stadat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"sxfp.enddat":[
{type: "date", required: false, message: "输入正确的日期"}
],
}
\ No newline at end of file
import Api from "~/service/Api"
import Pts from "~/page/Model/Common/Pts"
export default class Cpssxf{
constructor () {
this.data = {
wlzp:{
stadat:"", // 收报日期(查询) .wlzp.stadat
enddat:"", // 发报日期(查询) .wlzp.enddat
exp:"", // 导出 .sxfp.exp
},
sxfgrp:{
sxflst:[], // .sxfgrp.sxflst
},
pageId: "" // ctx的key
}
}
}
\ No newline at end of file
<template>
<div class="eContainer-search">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
label-width="120px"
label-position="right"
size="small"
:validate-on-rule-change="false"
>
<c-content>
<m-mainpl :model="model" :codes="codes" ref="mainpl"/>
</c-content>
</el-form>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Cpssxf from "../model";
import event from "../event"
import Mainplwjz from "./Mainplwjz.vue"
export default {
name: "Cpswjz",
components:{
"m-mainpl" : Mainplwjz,
},
provide() {
return {
root: this
}
},
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "mainpl",
trnName: "cpssxf",
model: new Cpssxf().data,
rules: null,
codes:{...CodeTable},
};
},
methods:{},
created:async function() {},
};
</script>
<style scoped>
</style>
\ No newline at end of file
......@@ -38,7 +38,6 @@ const BusRouter = [
{ path: 'smtame', component: ()=>import("./Smtame/views"), name: 'Smtame', meta: { title: 'Smtame' } ,module:'frontend'},
{ path: 'smtexe', component: ()=>import("./Smtexe/views"), name: 'Smtexe', meta: { title: 'Smtexe' } ,module:'frontend'},
{ path: 'smtsel', component: ()=>import("./Smtsel/views"), name: 'Smtsel', meta: { title: '对账单查询' } ,module:'frontend'},
// { path: 'sndsel', component: ()=>import("./Sndsel/views"), name: 'Sndsel', meta: { title: 'Sndsel' } ,module:'frontend'},
{ path: 'usrmsg', component: ()=>import("./Usrmsg/views"), name: 'Usrmsg', meta: { title: 'Usrmsg' } ,module:'frontend'},
// 报文管理w
{path: 'rcvsel',component: ()=>import("./Rcvsel/views"),name: 'Rcvsel', meta: { keepAlive: true, title: '收报查询' }},
......@@ -46,5 +45,14 @@ const BusRouter = [
{path: 'sndselcop',component: ()=>import("./Sndselcop/views"),name: 'Sndselcop',meta: { keepAlive: true, title: '发报疑似重复处理' }},
{path: 'rcvselcop',component: ()=>import("./Rcvselcop/views"),name: 'Rcvselcop',meta: { keepAlive: true, title: '收报疑似重复处理' }},
{path: 'msgrtm',component: ()=>import("./Msgrtm/views"),name: 'Msgrtm',meta: { keepAlive: true, title: '人工清分' }},
{path: 'fxpcetsel',component: ()=>import("./Fxpcetsel/views"),name: 'Fxpcetsel',meta: { keepAlive: true, title: '证书查询' },modeule:'frontend'},
{path: 'fxpjrbsel',component: ()=>import("./Fxpjrbsel/views"),name: 'Fxpjrbsel',meta: { keepAlive: true, title: '通用金融信息报文查询' },modeule:'frontend'},
{path: 'fxptolsel',component: ()=>import("./Fxptolsel/views"),name: 'Fxptolsel',meta: { keepAlive: true, title: '境内外币总核对查询' },modeule:'frontend'},
{path: 'fxpdtlsel',component: ()=>import("./Fxpdtlsel/views"),name: 'Fxpdtlsel',meta: { keepAlive: true, title: '境内外币明细查询' },modeule:'frontend'},
//CIPS未记账记录查询
{ path: 'cpswjz', component: ()=>import("./Cpswjz/views"), name: 'Cpswjz', meta: { title: 'CIPS未记账记录查询' } ,module:'frontend'},
//汇总查询
{ path: 'cpsmgs', component: ()=>import("./Cpsmgs/views"), name: 'Cpsmgs', meta: { title: '汇总查询' } ,module:'frontend'},
]
export default BusRouter
\ No newline at end of file
import Api from "~/service/Api";
import moment from "moment";
export default {
methods: {
async handleSearch() {
},
async handleReset() {
this.model.rcvp.rcvdatsta = new Date();
this.model.rcvp.rcvdatend = new Date();
this.model.rcvp.subtyp = "";
this.model.rcvp.sndbak = "";
this.model.rcvp.alttyp = "";
this.model.rcvp.bnstyp = "";
},
// pageSize改变
handleSizeChange(val) {
this.pagination.pageNum = 1;
this.pagination.pageSize = val;
this.handleSearch();
},
// 页码改变
handleCurrentChange(val) {
this.pagination.pageNum = val;
this.handleSearch();
},
handleSelectionChange(val){
this.multipleSelection = val;
}
},
};
import Utils from "~/utils"
/**
* Fxpcetsel Check规则
*/
let checkObj = {
}
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
export default class Fxpcetsel {
constructor() {
this.data = {
rcvp: {
rcvdatsta: "", // 起始日期 .rcvp.rcvdatsta
rcvdatend: "", // 终止日期 .rcvp.rcvdatend
subtyp: "", // 报文类型 .rcvp.subtyp
sndbak: "", // 发报行BIC .rcvp.sndbak
alttyp: "", // 变更类型
bnstyp: "", // 业务类型
},
pageId: "" // ctx的key
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<!-- 持续展示区 -->
<template v-slot="searchSlot">
<el-row>
<c-col :span="24">
<c-col :span="8">
<el-form-item :label="$t('fxpcetsel.创建时间')" style="width: 100%">
<c-col :span="11">
<c-date-picker type="date" v-model="model.rcvp.rcvdatsta" style="width: 100%"/>
</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.rcvp.rcvdatend" style="width: 100%"/>
</c-col>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxpcetsel.发报行')" style="width: 100%">
<c-input v-model="model.rcvp.sndbak" style="width: 100%"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxpcetsel.变更类型')" style="width: 100%">
<c-select v-model="model.rcvp.alttyp" maxlength="40" :code="codes.alttyp"/>
</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="$t('fxpcetsel.报文类型')" style="width: 100%">
<c-select v-model="model.rcvp.subtyp" maxlength="40" :code="codes.subtyp"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxpcetsel.业务类型')" style="width: 100%">
<c-select v-model="model.rcvp.bnstyp" maxlength="40" :code="codes.bnstyp"/>
</el-form-item>
</c-col>
</c-col>
</el-row>
</template>
</c-list-search>
<el-col :span="24" style="margin-top: 10px">
<div style="height: 90%">
<c-col :span="24">
<el-tabs v-model="activeTab" class="y-tabs">
<el-tab-pane :label="$t('fxpcetsel.证书查询')" name="sb">
<el-table :data="stmData.data" :columns="stmData.columns" v-loading="load" style="width: 100%"
@selection-change="handleSelectionChange"
size="small" :border="true" height="calc(100vh - 480px)" :highlight-current-row="true">
<el-table-column type="selection" width="55"/>
<el-table-column v-for="(item, key) in stmData.columns" :key="key" :label="item.label" :prop="item.prop"
:min-width="item.width"/>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :total="pagination.total"
:page-size="pagination.pageSize" :current-page.sync="pagination.pageNum"
@size-change="handleSizeChange"
@current-change="handleCurrentChange">
</el-pagination>
</el-tab-pane>
</el-tabs>
</c-col>
</div>
</el-col>
</div>
</template>
<script>
import event from "../event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeTab: 'sb',
load: false,
stmData: {
columns: [
{
label: "创建时间",
prop: "crttim",
width: "120px"
},
{
label: "证书DN",
prop: "ctfdn",
width: "120px"
},
{
label: "证书SN",
prop: "cftsn",
width: "120px"
},
{
label: "处理状态",
prop: "sta",
width: "120px"
},
{
label: "发起直接参与机构",
prop: "",
width: "120px"
},
{
label: "发起参与机构",
prop: "",
width: "120px"
},
],
data: [],
},
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
};
},
methods: {},
mounted: function () {
},
};
</script>
<style lang="less" scoped>
::v-deep .c-content-scrollbar {
height: 100% !important;
}
.eibs-tabs /deep/ {
.m-table-search {
padding: 20px 0px 10px 0px;
}
}
.header-wrap {
height: 36px;
display: flex;
justify-content: space-between;
align-items: center;
.title {
font-size: 16px;
color: #000;
}
.close-btn {
padding: 3px;
cursor: pointer;
}
}
.m-list-btns {
height: 300px;
overflow: auto;
}
.medium_bcs {
border-radius: 5px;
}
.m-table-search {
padding: 20px 0px 10px 0px;
}
.pagination-box {
width: 100%;
height: 30px;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0 10px;
background: #fff;
margin-top: 5px;
}
.el-dialog__body {
padding: 10px 5px 50px;
}
.m-table-search {
padding: 20px 0px 10px 0px;
}
.btn-group-wrap {
max-height: 200px;
width: 100%;
overflow-y: auto;
display: flex;
align-items: flex-start;
justify-content: flex-start;
flex-wrap: wrap;
}
.btn-item {
margin-bottom: 10px;
margin-right: 10px;
}
</style>
<template>
<div class="eContainer-search">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
label-width="120px"
label-position="right"
size="small"
:validate-on-rule-change="false"
>
<c-content>
<m-schpnl :model="model" :codes="codes" ref="schpnl"/>
</c-content>
</el-form>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable";
import event from "../event"
import Fxpcetsel from "../model";
import Check from '../model/check'
import Schpnl from "./Schpnl.vue"
export default {
name: "Fxpcetsel",
components: {
"m-schpnl": Schpnl,
},
provide() {
return {
root: this
}
},
mixins: [event], // 里面包含了Default、Check等的公共处理
data() {
return {
tabVal: "schpnl",
trnName: "fxpcetsel",
model: new Fxpcetsel().data,
rules: Check,
codes: {...CodeTable},
};
},
methods: {},
created: async function () {
},
};
</script>
<style scoped>
</style>
import Api from "~/service/Api";
import moment from "moment";
export default {
methods: {
async handleSearch() {
},
async handleReset() {
this.model.rcvp.sndbic = "";
this.model.rcvp.rcvdatsta = new Date();
this.model.rcvp.rcvdatend = new Date();
this.model.rcvp.rcvbic = "";
this.model.rcvp.dzdtyp = "";
this.model.rcvp.dzdckh = "";
this.model.rcvp.cur = "";
this.model.rcvp.subtyp = "";
this.model.rcvp.dzdatsta = new Date();
this.model.rcvp.dzdatend = new Date();
},
// pageSize改变
handleSizeChange(val) {
this.pagination.pageNum = 1;
this.pagination.pageSize = val;
this.handleSearch();
},
// 页码改变
handleCurrentChange(val) {
this.pagination.pageNum = val;
this.handleSearch();
},
handleSelectionChange(val) {
this.multipleSelection = val;
}
},
};
import Utils from "~/utils"
/**
* Fxpcetsel Check规则
*/
let checkObj = {
}
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
export default class Fxpcetsel {
constructor() {
this.data = {
rcvp: {
rcvdatsta: "", // 起始日期 .rcvp.rcvdatsta
rcvdatend: "", // 终止日期 .rcvp.rcvdatend
sndbic: "",
rcvbic: "",
dzdtyp: "",
dzdckh: "",
cur: "",
subtyp: "",
dzdatsta: "",
dzdatend: "",
},
pageId: "" // ctx的key
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<!-- 持续展示区 -->
<template v-slot="searchSlot">
<el-row>
<c-col :span="24">
<c-col :span="8">
<el-form-item :label="$t('fxpdtlsel.发报行BIC')" style="width: 100%">
<c-input v-model="model.rcvp.sndbic" maxlength="40"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxpdtlsel.收报行BIC')" style="width: 100%">
<c-input v-model="model.rcvp.rcvbic" maxlength="40"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxpdtlsel.对账单类型')" style="width: 100%">
<c-select v-model="model.rcvp.dzdtyp" maxlength="40" :code="codes.dzdtyp"/>
</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="$t('fxpdtlsel.对账单参考号')" style="width: 100%">
<c-input v-model="model.rcvp.dzdckh" maxlength="40"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxpdtlsel.币种')" style="width: 100%">
<c-select v-model="model.rcvp.cur" maxlength="40" :code="codes.cur"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxpdtlsel.收报日期')" style="width: 100%">
<c-col :span="11">
<c-date-picker type="date" v-model="model.rcvp.rcvdatsta" style="width: 100%"/>
</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.rcvp.rcvdatend" style="width: 100%"/>
</c-col>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="8">
<el-form-item :label="$t('fxpdtlsel.对账日期')" style="width: 100%">
<c-col :span="11">
<c-date-picker type="date" v-model="model.rcvp.dzdatsta" style="width: 100%"/>
</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.rcvp.dzdatend" style="width: 100%"/>
</c-col>
</el-form-item>
</c-col>
</c-col>
</el-row>
</template>
</c-list-search>
<el-col :span="24" style="margin-top: 10px">
<div style="height: 90%">
<c-col :span="24">
<el-tabs v-model="activeTab" class="y-tabs">
<el-tab-pane :label="$t('fxpdtlsel.境内外币明细查询')" name="sb">
<el-table :data="stmData.data" :columns="stmData.columns" v-loading="load" style="width: 100%"
@selection-change="handleSelectionChange"
size="small" :border="true" height="calc(100vh - 480px)" :highlight-current-row="true">
<el-table-column type="selection" width="55"/>
<el-table-column v-for="(item, key) in stmData.columns" :key="key" :label="item.label" :prop="item.prop"
:min-width="item.width"/>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :total="pagination.total"
:page-size="pagination.pageSize" :current-page.sync="pagination.pageNum"
@size-change="handleSizeChange"
@current-change="handleCurrentChange">
</el-pagination>
</el-tab-pane>
</el-tabs>
</c-col>
</div>
</el-col>
</div>
</template>
<script>
import event from "../event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeTab: 'sb',
load: false,
stmData: {
columns: [
{
label: "收报日期",
prop: "rcvdat",
width: "120px"
},
{
label: "对账日期",
prop: "dzdat",
width: "120px"
},
{
label: "发报行",
prop: "sndbak",
width: "120px"
},
{
label: "收报行",
prop: "rcvbak",
width: "120px"
},
{
label: "币种",
prop: "cur",
width: "120px"
},
{
label: "对账单参考号",
prop: "dzdckh",
width: "120px"
},
{
label: "报文标准",
prop: "msgtyp",
width: "120px"
},
{
label: "报文类型",
prop: "subtyp",
width: "120px"
},
{
label: "对账状态",
prop: "sta",
width: "120px"
},
{
label: "明细数目",
prop: "mxsm",
width: "120px"
},
],
data: [],
},
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
};
},
methods: {},
mounted: function () {
},
};
</script>
<style lang="less" scoped>
::v-deep .c-content-scrollbar {
height: 100% !important;
}
.eibs-tabs /deep/ {
.m-table-search {
padding: 20px 0px 10px 0px;
}
}
.header-wrap {
height: 36px;
display: flex;
justify-content: space-between;
align-items: center;
.title {
font-size: 16px;
color: #000;
}
.close-btn {
padding: 3px;
cursor: pointer;
}
}
.m-list-btns {
height: 300px;
overflow: auto;
}
.medium_bcs {
border-radius: 5px;
}
.m-table-search {
padding: 20px 0px 10px 0px;
}
.pagination-box {
width: 100%;
height: 30px;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0 10px;
background: #fff;
margin-top: 5px;
}
.el-dialog__body {
padding: 10px 5px 50px;
}
.m-table-search {
padding: 20px 0px 10px 0px;
}
.btn-group-wrap {
max-height: 200px;
width: 100%;
overflow-y: auto;
display: flex;
align-items: flex-start;
justify-content: flex-start;
flex-wrap: wrap;
}
.btn-item {
margin-bottom: 10px;
margin-right: 10px;
}
</style>
<template>
<div class="eContainer-search">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
label-width="120px"
label-position="right"
size="small"
:validate-on-rule-change="false"
>
<c-content>
<m-schpnl :model="model" :codes="codes" ref="schpnl"/>
</c-content>
</el-form>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable";
import event from "../event"
import Fxpdtlsel from "../model";
import Check from '../model/check'
import Schpnl from "./Schpnl.vue"
export default {
name: "Fxpdtlsel",
components:{
"m-schpnl" : Schpnl,
},
provide() {
return {
root: this
}
},
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "schpnl",
trnName: "fxpdtlsel",
model: new Fxpdtlsel().data,
rules: Check,
codes:{...CodeTable},
};
},
methods:{},
created:async function() {},
};
</script>
<style scoped>
</style>
import Api from "~/service/Api";
import moment from "moment";
export default {
methods: {
async handleSearch() {
},
async handleReset() {
this.model.rcvp.sffx = "";
this.model.rcvp.rcvdatsta = new Date();
this.model.rcvp.rcvdatend = new Date();
this.model.rcvp.sndbic = "";
this.model.rcvp.rcvbic = "";
this.model.rcvp.msgid = "";
this.model.rcvp.sta = "";
this.model.rcvp.subtyp = "";
this.model.rcvp.bnsscn = "";
},
// pageSize改变
handleSizeChange(val) {
this.pagination.pageNum = 1;
this.pagination.pageSize = val;
this.handleSearch();
},
// 页码改变
handleCurrentChange(val) {
this.pagination.pageNum = val;
this.handleSearch();
},
handleSelectionChange(val){
this.multipleSelection = val;
}
},
};
import Utils from "~/utils"
/**
* Fxpcetsel Check规则
*/
let checkObj = {
}
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
export default class Fxpcetsel {
constructor() {
this.data = {
rcvp: {
rcvdatsta: "", // 起始日期 .rcvp.rcvdatsta
rcvdatend: "", // 终止日期 .rcvp.rcvdatend
sffx: "",
sndbic: "",
rcvbic: "",
msgid: "",
sta: "",
subtyp: "", // 报文类型 .rcvp.subtyp
bnsscn: "",
},
pageId: "" // ctx的key
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<!-- 持续展示区 -->
<template v-slot="searchSlot">
<el-row>
<c-col :span="24">
<c-col :span="8">
<el-form-item :label="$t('fxpjrbsel.创建时间')" style="width: 100%">
<c-col :span="11">
<c-date-picker type="date" v-model="model.rcvp.rcvdatsta" style="width: 100%"/>
</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.rcvp.rcvdatend" style="width: 100%"/>
</c-col>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxpjrbsel.业务场景')" style="width: 100%">
<c-select v-model="model.rcvp.bnsscn" maxlength="40" :code="codes.bnsscn"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxpjrbsel.报文类型')" style="width: 100%">
<c-select v-model="model.rcvp.subtyp" maxlength="40" :code="codes.subtyp"/>
</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="$t('fxpjrbsel.被封装的类型')" style="width: 100%">
<c-select v-model="model.rcvp.bfzdlx" maxlength="40" :code="codes.atrtyp"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxpjrbsel.被封装20域编号')" style="width: 100%">
<c-input v-model="model.rcvp.bfzybh" maxlength="40"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxpjrbsel.收发方向')" style="width: 100%">
<c-select v-model="model.rcvp.sffx" maxlength="40" :code="codes.atrtyp"/>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="8">
<el-form-item :label="$t('fxpjrbsel.发报行BIC')" style="width: 100%">
<c-input v-model="model.rcvp.sndbic" maxlength="40"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxpjrbsel.收报行BIC')" style="width: 100%">
<c-input v-model="model.rcvp.rcvbic" maxlength="40"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxpjrbsel.报文标识号')" style="width: 100%">
<c-input v-model="model.rcvp.msgid" maxlength="40"/>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="8">
<el-form-item :label="$t('fxpjrbsel.处理状态')" style="width: 100%">
<c-select v-model="model.rcvp.sta" maxlength="40" :code="codes.sta"/>
</el-form-item>
</c-col>
</c-col>
</el-row>
</template>
</c-list-search>
<el-col :span="24" style="margin-top: 10px">
<div style="height: 90%">
<c-col :span="24">
<el-tabs v-model="activeTab" class="y-tabs">
<el-tab-pane :label="$t('fxpjrbsel.通用金融信息报文查询')" name="sb">
<el-table :data="stmData.data" :columns="stmData.columns" v-loading="load" style="width: 100%"
@selection-change="handleSelectionChange"
size="small" :border="true" height="calc(100vh - 480px)" :highlight-current-row="true">
<el-table-column type="selection" width="55"/>
<el-table-column v-for="(item, key) in stmData.columns" :key="key" :label="item.label" :prop="item.prop"
:min-width="item.width"/>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :total="pagination.total"
:page-size="pagination.pageSize" :current-page.sync="pagination.pageNum"
@size-change="handleSizeChange"
@current-change="handleCurrentChange">
</el-pagination>
</el-tab-pane>
</el-tabs>
</c-col>
</div>
</el-col>
</div>
</template>
<script>
import event from "../event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeTab: 'sb',
load: false,
stmData: {
columns: [
{
label: "起息日",
prop: "valdat",
width: "120px"
},
{
label: "收发方向",
prop: "sffx",
width: "120px"
},
{
label: "报文标识号",
prop: "msgid",
width: "120px"
},
{
label: "报文参考号",
prop: "msgckh",
width: "120px"
},
{
label: "业务场景",
prop: "bnsscn",
width: "120px"
},
{
label: "报文类型",
prop: "subtyp",
width: "120px"
},
{
label: "被封装的类型",
prop: "bfzdlx",
width: "120px"
},
{
label: "被封装20域编号",
prop: "bfzybh",
width: "120px"
},
{
label: "处理状态",
prop: "sta",
width: "120px"
},
{
label: "发报行BIC",
prop: "sndbic",
width: "120px"
},
{
label: "收报行BIC",
prop: "rcvbic",
width: "120px"
},
{
label: "接收时间",
prop: "rcvtim",
width: "120px"
},
],
data: [],
},
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
};
},
methods: {},
mounted: function () {
},
};
</script>
<style lang="less" scoped>
::v-deep .c-content-scrollbar {
height: 100% !important;
}
.eibs-tabs /deep/ {
.m-table-search {
padding: 20px 0px 10px 0px;
}
}
.header-wrap {
height: 36px;
display: flex;
justify-content: space-between;
align-items: center;
.title {
font-size: 16px;
color: #000;
}
.close-btn {
padding: 3px;
cursor: pointer;
}
}
.m-list-btns {
height: 300px;
overflow: auto;
}
.medium_bcs {
border-radius: 5px;
}
.m-table-search {
padding: 20px 0px 10px 0px;
}
.pagination-box {
width: 100%;
height: 30px;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0 10px;
background: #fff;
margin-top: 5px;
}
.el-dialog__body {
padding: 10px 5px 50px;
}
.m-table-search {
padding: 20px 0px 10px 0px;
}
.btn-group-wrap {
max-height: 200px;
width: 100%;
overflow-y: auto;
display: flex;
align-items: flex-start;
justify-content: flex-start;
flex-wrap: wrap;
}
.btn-item {
margin-bottom: 10px;
margin-right: 10px;
}
</style>
<template>
<div class="eContainer-search">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
label-width="120px"
label-position="right"
size="small"
:validate-on-rule-change="false"
>
<c-content>
<m-schpnl :model="model" :codes="codes" ref="schpnl"/>
</c-content>
</el-form>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable";
import event from "../event"
import Fxpjrbsel from "../model";
import Check from '../model/check'
import Schpnl from "./Schpnl.vue"
export default {
name: "Fxpjrbsel",
components:{
"m-schpnl" : Schpnl,
},
provide() {
return {
root: this
}
},
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "schpnl",
trnName: "fxpjrbsel",
model: new Fxpjrbsel().data,
rules: Check,
codes:{...CodeTable},
};
},
methods:{},
created:async function() {},
};
</script>
<style scoped>
</style>
import Api from "~/service/Api";
import moment from "moment";
export default {
methods: {
async handleSearch() {
},
async handleReset() {
this.model.rcvp.dzhh = "";
this.model.rcvp.rcvdatsta = new Date();
this.model.rcvp.rcvdatend = new Date();
this.model.rcvp.subtyp = "";
this.model.rcvp.dzdatsta = new Date();
this.model.rcvp.dzdatend = new Date();
},
// pageSize改变
handleSizeChange(val) {
this.pagination.pageNum = 1;
this.pagination.pageSize = val;
this.handleSearch();
},
// 页码改变
handleCurrentChange(val) {
this.pagination.pageNum = val;
this.handleSearch();
},
handleSelectionChange(val){
this.multipleSelection = val;
}
},
};
import Utils from "~/utils"
/**
* Fxpcetsel Check规则
*/
let checkObj = {
}
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
export default class Fxpcetsel {
constructor() {
this.data = {
rcvp: {
rcvdatsta: "", // 起始日期 .rcvp.rcvdatsta
rcvdatend: "", // 终止日期 .rcvp.rcvdatend
dzhh: "",
subtyp: "",
dzdatsta: "",
dzdatend: "",
},
pageId: "" // ctx的key
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<!-- 持续展示区 -->
<template v-slot="searchSlot">
<el-row>
<c-col :span="24">
<c-col :span="8">
<el-form-item :label="$t('fxptolsel.对账行号')" style="width: 100%">
<c-input v-model="model.rcvp.dzhh" maxlength="40"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxptolsel.报文类型')" style="width: 100%">
<c-select v-model="model.rcvp.subtyp" maxlength="40" :code="codes.subtyp"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('fxptolsel.收报日期')" style="width: 100%">
<c-col :span="11">
<c-date-picker type="date" v-model="model.rcvp.rcvdatsta" style="width: 100%"/>
</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.rcvp.rcvdatend" style="width: 100%"/>
</c-col>
</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="$t('fxptolsel.对账日期')" style="width: 100%">
<c-col :span="11">
<c-date-picker type="date" v-model="model.rcvp.dzdatsta" style="width: 100%"/>
</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.rcvp.dzdatend" style="width: 100%"/>
</c-col>
</el-form-item>
</c-col>
</c-col>
</el-row>
</template>
</c-list-search>
<el-col :span="24" style="margin-top: 10px">
<div style="height: 90%">
<c-col :span="24">
<el-tabs v-model="activeTab" class="y-tabs">
<el-tab-pane :label="$t('fxptolsel.境内外币总核对查询')" name="sb">
<el-table :data="stmData.data" :columns="stmData.columns" v-loading="load" style="width: 100%"
@selection-change="handleSelectionChange"
size="small" :border="true" height="calc(100vh - 480px)" :highlight-current-row="true">
<el-table-column type="selection" width="55"/>
<el-table-column v-for="(item, key) in stmData.columns" :key="key" :label="item.label" :prop="item.prop"
:min-width="item.width"/>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next, jumper" :total="pagination.total"
:page-size="pagination.pageSize" :current-page.sync="pagination.pageNum"
@size-change="handleSizeChange"
@current-change="handleCurrentChange">
</el-pagination>
</el-tab-pane>
</el-tabs>
</c-col>
</div>
</el-col>
</div>
</template>
<script>
import event from "../event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeTab: 'sb',
load: false,
stmData: {
columns: [
{
label: "收报日期",
prop: "rcvdat",
width: "120px"
},
{
label: "对账日期",
prop: "dzdat",
width: "120px"
},
{
label: "发报行",
prop: "sndbak",
width: "120px"
},
{
label: "收报行",
prop: "rcvbak",
width: "120px"
},
{
label: "报文标识号",
prop: "msgid",
width: "120px"
},
{
label: "币种",
prop: "cur",
width: "120px"
},
{
label: "报文标准",
prop: "msgtyp",
width: "120px"
},
{
label: "报文类型",
prop: "subtyp",
width: "120px"
},
{
label: "对账状态",
prop: "sta",
width: "120px"
},
{
label: "明细数目",
prop: "mxsm",
width: "120px"
},
],
data: [],
},
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
};
},
methods: {},
mounted: function () {
},
};
</script>
<style lang="less" scoped>
::v-deep .c-content-scrollbar {
height: 100% !important;
}
.eibs-tabs /deep/ {
.m-table-search {
padding: 20px 0px 10px 0px;
}
}
.header-wrap {
height: 36px;
display: flex;
justify-content: space-between;
align-items: center;
.title {
font-size: 16px;
color: #000;
}
.close-btn {
padding: 3px;
cursor: pointer;
}
}
.m-list-btns {
height: 300px;
overflow: auto;
}
.medium_bcs {
border-radius: 5px;
}
.m-table-search {
padding: 20px 0px 10px 0px;
}
.pagination-box {
width: 100%;
height: 30px;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0 10px;
background: #fff;
margin-top: 5px;
}
.el-dialog__body {
padding: 10px 5px 50px;
}
.m-table-search {
padding: 20px 0px 10px 0px;
}
.btn-group-wrap {
max-height: 200px;
width: 100%;
overflow-y: auto;
display: flex;
align-items: flex-start;
justify-content: flex-start;
flex-wrap: wrap;
}
.btn-item {
margin-bottom: 10px;
margin-right: 10px;
}
</style>
<template>
<div class="eContainer-search">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
label-width="120px"
label-position="right"
size="small"
:validate-on-rule-change="false"
>
<c-content>
<m-schpnl :model="model" :codes="codes" ref="schpnl"/>
</c-content>
</el-form>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable";
import event from "../event"
import Fxptolsel from "../model";
import Check from '../model/check'
import Schpnl from "./Schpnl.vue"
export default {
name: "Fxptolsel",
components:{
"m-schpnl" : Schpnl,
},
provide() {
return {
root: this
}
},
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "schpnl",
trnName: "fxptolsel",
model: new Fxptolsel().data,
rules: Check,
codes:{...CodeTable},
};
},
methods:{},
created:async function() {},
};
</script>
<style scoped>
</style>
......@@ -136,7 +136,7 @@
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "../model/Event"
import Event from "../event/Event"
export default {
inject: ['root'],
......
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 = [];
return {
rec: {
objtyp: "FXT",
},
cbsMap: {},
ptsList: ptsptaList,
transName: trnName,
userId: window.sessionStorage.userId ? window.sessionStorage.userId : "ZL",
};
},
},
};
import commonFunctions from '~/mixin/commonFunctions.js';
import Api from '~/service/Api';
export default {
mixins: [commonFunctions],
methods: {
async onFttpButgetref() {
let rtnmsg = await this.executeRule("fttp.butgetref")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onTropDet() {
let rtnmsg = await this.executeRule("trop.det")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onTripDet() {
let rtnmsg = await this.executeRule("trip.det")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onBenpDet() {
let rtnmsg = await this.executeRule("benp.det")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
}
}
\ No newline at end of file
/**
* Fttpcm Default规则
*/
import Api from "~/service/Api";
import Utils from "~/utils/index"
export default {
"ftdgrp.tri.dbfadrblkcn" :Utils.defaultFunction,
"ftdgrp.tri.pts.adrblk" :Utils.defaultFunction,
"ftdgrp.tro.pts.adrblk" :Utils.defaultFunction,
"fttp.usr.extkey" :Utils.defaultFunction,
"ftdgrp.rec.opndat" :Utils.defaultFunction,
"ftdgrp.cbs.max.cur" :Utils.defaultFunction,
"ftdgrp.rec.valdat" :Utils.defaultFunction,
"ftdgrp.tri.pts.extkey" :Utils.defaultFunction,
"ftdgrp.tro.pts.extkey" :Utils.defaultFunction,
"ftdgrp.tro.dbfadrblkcn" :Utils.defaultFunction,
"ftdgrp.rec.usr" :Utils.defaultFunction,
"fttp.msgtyp" :Utils.defaultFunction,
"ftdgrp.rec.ownusr" :Utils.defaultFunction,
"ftdgrp.ben.pts.extkey" :Utils.defaultFunction,
"ftdgrp.rec.ownref" :Utils.defaultFunction,
"ftdgrp.cbs.max.amt" :Utils.defaultFunction,
}
//你可以添加自动default处理
export default {
"ftdgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.rec.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"ftdgrp.tro.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 20,message:"长度不能超过20"}
],
"ftdgrp.rec.ownusr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"fttp.usr.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"fttp.usrget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"fttp.trop.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.tro.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fttp.trop.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"ftdgrp.rec.usr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"ftdgrp.tro.pts.adrblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.tro.dbfadrblkcn":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.cbs.max.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"ftdgrp.rec.opndat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"ftdgrp.rec.valdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"ftdgrp.blk.remark":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.tri.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 20,message:"长度不能超过20"}
],
"fttp.trip.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.tri.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fttp.trip.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"fttp.benp.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.tri.pts.adrblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.tri.dbfadrblkcn":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.ben.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fttp.benp.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"ftdgrp.ben.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"fttp.benact":[
{type: "string", required: false, message: "必输项"},
{max: 34,message:"长度不能超过34"}
],
"ftdgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"relref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"narblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftt199l1blk":[
{type: "string", required: true, message: "必输项"},
{max: 200,message:"长度不能超过200"}
],
}
\ No newline at end of file
......@@ -3,23 +3,137 @@ import Utils from "~/utils"
/**
* Fttpcm Check规则
*/
let checkObj = {
"ftdgrp.rec.opndat" :null,
"ftdgrp.cbs.max.cur" :null,
"ftdgrp.cbs.max.amt" :null,
"fttp.usr.extkey" :null,
"ftdgrp.rec.valdat" :null,
"ftdgrp.tro.pts.adrblk" :null,
"ftdgrp.tri.pts.extkey" :null,
"ftdgrp.tri.pts.adrblk" :null,
"ftdgrp.ben.pts.extkey" :null,
"ftdgrp.tro.pts.extkey" :null,
}
export default {
"ftdgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.rec.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"ftdgrp.tro.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 20,message:"长度不能超过20"}
],
"ftdgrp.rec.ownusr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"fttp.usr.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"fttp.usrget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"fttp.trop.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.tro.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fttp.trop.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"ftdgrp.rec.usr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"ftdgrp.tro.pts.adrblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.tro.dbfadrblkcn":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.cbs.max.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"ftdgrp.rec.opndat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"ftdgrp.rec.valdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"ftdgrp.blk.remark":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.tri.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 20,message:"长度不能超过20"}
],
"fttp.trip.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.tri.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fttp.trip.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"fttp.benp.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.tri.pts.adrblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.tri.dbfadrblkcn":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.ben.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fttp.benp.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"ftdgrp.ben.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"fttp.benact":[
{type: "string", required: false, message: "必输项"},
{max: 34,message:"长度不能超过34"}
],
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
"ftdgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"relref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"narblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftt199l1blk":[
{type: "string", required: true, message: "必输项"},
{max: 200,message:"长度不能超过200"}
],
}
export default checkObj
import Api from "~/service/Api"
import Pts from "~/page/Model/Common/Pts"
import Pub from "~/components/business/commonModel/index.js";
export default class Fttpcm{
constructor () {
......@@ -75,7 +76,10 @@ export default class Fttpcm{
narblk:"", // Narrative .narblk
relref:"", // Related Reference .relref
ftt199l1blk:"", // XMLPanel ftt199l1的内置block .ftt199l1blk
pageId: "" // ctx的key
pageId: "", // ctx的key
setmod: new Pub().data.Setmod,
docpan: new Pub().data.Docpan,
trndia: new Pub().data.Trndia
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<c-col :span="12">
<c-form-item label="XMLPanel ftt199l1的内置block" prop="ftt199l1blk">
<c-input type="textarea" v-model="model.ftt199l1blk" maxlength="200" show-word-limit :placeholder="$t('other.please_enter')+'XMLPanel ftt199l1的内置block'" ></c-input>
<c-col :span="8">
<c-form-item label="ftt199l1的内置block" prop="ftt199l1blk">
<c-input type="textarea" v-model="model.ftt199l1blk" maxlength="200" show-word-limit :placeholder="请输入你要输入的内容" ></c-input>
</c-form-item>
</c-col>
</div>
......@@ -12,7 +12,7 @@
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "../model/Event"
import Event from "../event"
export default {
inject: ['root'],
......
<template>
<div class="eibs-tab">
<!-- S0000103 : Reference -->
<c-col :span="12">
<c-col :span="8">
<c-form-item :label="$t('fttpcm.S0000103')" prop="ftdgrp.rec.ownref">
<c-input v-model="model.ftdgrp.rec.ownref" maxlength="16" :placeholder="$t('other.please_enter')+$t('fttpcm.S0000103')"></c-input>
</c-form-item>
</c-col>
<!-- S0000104 : Related Reference -->
<c-col :span="12">
<c-col :span="8">
<c-form-item :label="$t('fttpcm.S0000104')" prop="relref">
<c-input v-model="model.relref" maxlength="16" :placeholder="$t('other.please_enter')+$t('fttpcm.S0000104')"></c-input>
</c-form-item>
</c-col>
<!-- S0000102 : Narrative -->
<c-col :span="12">
<c-col :span="8">
<c-form-item :label="$t('fttpcm.S0000102')" prop="narblk">
<c-input type="textarea" v-model="model.narblk" maxlength="35" show-word-limit :placeholder="$t('other.please_enter')+$t('fttpcm.S0000102')" ></c-input>
</c-form-item>
......@@ -27,7 +27,7 @@
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "../model/Event"
import Event from "../event"
export default {
inject: ['root'],
......
<template>
<div class="eContainer">
<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">
<!--fttpcm PD000098 Confirmation -->
<el-tab-pane :label="$t('fttpcm.PD000098')" name="cnfp">
<m-cnfp :model="model" :codes="codes"/>
</el-tab-pane>
<!--fttpcm PD000100 MT199 -->
<el-tab-pane :label="$t('fttpcm.PD000100')" name="mt199">
<m-mt199 :model="model" :codes="codes"/>
</el-tab-pane>
<!--fttpcm PD000101 MT199 -->
<el-tab-pane :label="$t('fttpcm.PD000101')" name="ftt199l1">
<m-ftt199l1 :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
</el-form>
</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="cnfp">
<m-cnfp :model="model" :codes="codes" />
</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>
<!--fttpcm PD000100 MT199 -->
<!-- <el-tab-pane :label="$t('fttpcm.PD000100')" name="mt199">
<m-mt199 :model="model" :codes="codes" />
</el-tab-pane> -->
<!--fttpcm PD000101 MT199 -->
<!-- <el-tab-pane :label="$t('fttpcm.PD000101')" name="ftt199l1">
<m-ftt199l1 :model="model" :codes="codes" />
</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 Fttpcm from "../model"
import commonProcess from "~/mixin/commonProcess"
import Check from "../model/Check"
import Default from "../model/Default"
import Pattern from "../model/Pattern"
import event from "../event";
import operationFunc from "~/mixin/operationFunc";
import commonDepend from "~/mixin/commonDepend";
import buildFn from "../event/buildCommons.js";
import Check from "../model/check.js";
import Cnfp from "./Cnfp"
import Mt199 from "./Mt199"
import Ftt199l1 from "./Ftt199l1"
import Setpan from "~/components/business/setmod/views";
import Docpan from "~/components/business/docpan/views";
export default {
......@@ -37,25 +60,23 @@ export default {
"m-cnfp" : Cnfp,
"m-mt199" : Mt199,
"m-ftt199l1" : Ftt199l1,
"m-setpan": Setpan,
"m-docpan": Docpan
},
provide() {
return {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
mixins: [operationFunc, commonDepend, event, buildFn],
data(){
return {
tabVal: "cnfp",
trnName: "fttpcm",
trnType: "",
model: new Fttpcm().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
},
rules: Check,
codes: { ...CodeTable },
}
},
methods:{
......
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 = [];
return {
rec: {
objtyp: "FXT",
},
cbsMap: {},
ptsList: ptsptaList,
transName: trnName,
userId: window.sessionStorage.userId ? window.sessionStorage.userId : "ZL",
};
},
},
};
import commonFunctions from '~/mixin/commonFunctions.js';
import Api from '~/service/Api';
export default {
mixins: [commonFunctions],
methods: {
async onTropDet() {
let rtnmsg = await this.executeRule("trop.det")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onTripDet() {
let rtnmsg = await this.executeRule("trip.det")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
}
}
\ No newline at end of file
/**
* Fttpcn Default规则
*/
import Api from "~/service/Api";
import Utils from "~/utils/index"
export default {
"ftdgrp.tri.dbfadrblkcn" :Utils.defaultFunction,
"ftdgrp.tri.pts.adrblk" :Utils.defaultFunction,
"ftdgrp.tro.pts.adrblk" :Utils.defaultFunction,
"fttp.usr.extkey" :Utils.defaultFunction,
"ftdgrp.tri.pts.extkey" :Utils.defaultFunction,
"ftdgrp.tro.pts.extkey" :Utils.defaultFunction,
"setmod.doccur" :Utils.defaultFunction,
"ftdgrp.tro.dbfadrblkcn" :Utils.defaultFunction,
"ftdgrp.cbs.max.cur" :Utils.defaultFunction,
"ftdgrp.rec.ownref" :Utils.defaultFunction,
"ftdgrp.rec.fttyp" :Utils.defaultFunction,
"ftdgrp.cbs.max.amt" :Utils.defaultFunction,
"canamt" :Utils.defaultFunction,
"ftdgrp.cbs.opn2.amt" :Utils.defaultFunction,
"mtabut.clsflg" :Utils.defaultFunction,
}
//你可以添加自动default处理
......@@ -3,23 +3,94 @@ import Utils from "~/utils"
/**
* Fttpcn Check规则
*/
let checkObj = {
"canamt" :null,
"ftdgrp.cbs.max.cur" :null,
"ftdgrp.cbs.max.amt" :null,
"fttp.usr.extkey" :null,
"ftdgrp.tro.pts.adrblk" :null,
"ftdgrp.tri.pts.extkey" :null,
"ftdgrp.tri.pts.adrblk" :null,
"ftdgrp.tro.pts.extkey" :null,
"ftdgrp.rec.fttyp" :null,
"mtabut.clsflg" :null,
}
export default {
"ftdgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.rec.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"ftdgrp.tro.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 20,message:"长度不能超过20"}
],
"fttp.usr.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"fttp.trop.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.tro.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fttp.trop.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"ftdgrp.tro.pts.adrblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.tro.dbfadrblkcn":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.cbs.max.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"ftdgrp.cbs.opn2.cur":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"ftdgrp.cbs.opn2.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"setmod.doccur":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"canamt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"ftdgrp.tri.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 20,message:"长度不能超过20"}
],
"fttp.trip.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.tri.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fttp.trip.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
"ftdgrp.tri.pts.adrblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.tri.dbfadrblkcn":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
}
export default checkObj
import Api from "~/service/Api"
import Pts from "~/page/Model/Common/Pts"
import Pub from "~/components/business/commonModel/index.js";
export default class Fttpcn{
constructor () {
......@@ -57,7 +58,10 @@ export default class Fttpcn{
mtabut:{
clsflg:"", // Close Flag .mtabut.clsflg
},
pageId: "" // ctx的key
pageId: "", // ctx的key
setmod: new Pub().data.Setmod,
docpan: new Pub().data.Docpan,
trndia: new Pub().data.Trndia
}
}
}
\ No newline at end of file
<template>
<div class="eContainer">
<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">
<!--fttpcn PD000050 Cancellation -->
<el-tab-pane :label="$t('fttpcn.PD000050')" name="canp">
<m-canp :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
</el-form>
<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="canp">
<m-canp :model="model" :codes="codes" />
</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>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Fttpcn from "../model"
import commonProcess from "~/mixin/commonProcess"
import Check from "../model/Check"
import Default from "../model/Default"
import Pattern from "../model/Pattern"
import Canp from "./Canp"
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Fttpcn from "../model";
import event from "../event";
import operationFunc from "~/mixin/operationFunc";
import commonDepend from "~/mixin/commonDepend";
import buildFn from "../event/buildCommons.js";
import Check from "../model/check.js";
import Canp from "./Canp";
import Setpan from "~/components/business/setmod/views";
import Docpan from "~/components/business/docpan/views";
export default {
name: "Fttpcn",
components:{
"m-canp" : Canp,
name: "Fttpcn",
components: {
"m-canp": Canp,
"m-setpan": Setpan,
"m-docpan": Docpan,
},
provide() {
return {
root: this,
};
},
mixins: [operationFunc, commonDepend, event, buildFn],
data() {
return {
tabVal: "canp",
trnName: "fttpcn",
trnType: "",
model: new Fttpcn().data,
rules: Check,
codes: { ...CodeTable },
};
},
methods: {
myTabClick(tab) {
this.tabClick(tab);
/**
* do it yourself
**/
},
provide() {
return {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "canp",
trnName: "fttpcn",
trnType: "",
model: new Fttpcn().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
},
}
},
methods:{
myTabClick(tab){
this.tabClick(tab)
/**
* do it yourself
**/
}
},
created:async function(){
console.log("进入fttpcn交易");
let rtnmsg = {}; // await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
this.updateModel(rtnmsg.data)
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
created: async function () {
console.log("进入fttpcn交易");
let rtnmsg = {}; // await this.init({})
if (rtnmsg.respCode == SUCCESS) {
this.updateModel(rtnmsg.data);
//TODO 处理数据逻辑
} else {
this.$notify.error({ title: "错误", message: "服务请求失败!" });
}
}
},
};
</script>
<style>
</style>
......@@ -14,6 +14,7 @@ const BusRouter = [
{ path: 'fxteqo', component: () => import("./Fxteqo/views"), name: 'Fxteqo', meta: { title: '代客外汇买卖报价' }, module: 'Funds' },
{ path: 'fxtfcm', component: () => import("./Fxtfcm/views"), name: 'Fxtfcm', meta: { title: '外币兑换平盘登记' }, module: 'Funds' },
{ path: 'fxtfcn', component: () => import("./Fxtfcn/views"), name: 'Fxtfcn', meta: { title: '外币兑换平盘销账' }, module: 'Funds' },
{ path: 'infcrd', component: () => import("./Infcrd/views"), name: 'Infcrd', meta: { title: '清算入口交易' }, module: 'Funds' },
{
path: "fxtfop",
component: () => import("./Fxtfop/views"),
......
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.fxdgrp, this.buildPtspta);
return {
rec: {
objtyp: "FXD",
objinr: model.fxdgrp.rec.inr,
ownref: model.fxdgrp.rec.ownref,
},
cbsMap: {
MAX: model.fxdgrp.cbs.max,
NOM1: model.fxdgrp.cbs.nom1,
},
ptsList: ptsptaList,
transName: trnName,
userId: window.sessionStorage.userId ? window.sessionStorage.userId : "ZL",
};
},
},
};
import commonFunctions from '~/mixin/commonFunctions.js';
import Api from '~/service/Api';
export default {
mixins: [commonFunctions],
methods: {
}
}
\ No newline at end of file
/**
* Fxtlcm Default规则
*/
import Api from "~/service/Api";
import Utils from "~/utils/index"
export default {
"mt30m.c85.pts.extkey" :Utils.defaultFunction,
"mt30m.deamet" :Utils.defaultFunction,
"fxtp.cnychk" :Utils.defaultFunction,
"fxtp.frgchk" :Utils.defaultFunction,
"fxdgrp.rec.ownusr" :Utils.defaultFunction,
"fxdgrp.apl.dbfadrblkcn" :Utils.defaultFunction,
"swtflg" :Utils.defaultFunction,
"fxtp.usr.extkey" :Utils.defaultFunction,
"fxdgrp.rec.usr" :Utils.defaultFunction,
"fxdgrp.cbs.nom1.cur" :Utils.defaultFunction,
"fxdgrp.cbs.max.cur" :Utils.defaultFunction,
"fxdgrp.rec.rat" :Utils.defaultFunction,
"fxdgrp.cbs.nom1.amt" :Utils.defaultFunction,
"fxdgrp.cbs.max.amt" :Utils.defaultFunction,
"mt30m.c84.pts.extkey" :Utils.defaultFunction,
"fxdgrp.apl.pts.adrblk" :Utils.defaultFunction,
"mt30m.deamettxt" :Utils.defaultFunction,
"mt30m.b58.pts.extkey" :Utils.defaultFunction,
"fxdgrp.act.pts.extkey" :Utils.defaultFunction,
"fxdgrp.rec.fxtyp" :Utils.defaultFunction,
"fxdgrp.apl.pts.extkey" :Utils.defaultFunction,
"mt30m.a53.pts.extkey" :Utils.defaultFunction,
"aplacc.pts.extkey" :Utils.defaultFunction,
"mt30m.b53.pts.extkey" :Utils.defaultFunction,
"mt30m.b56.pts.extkey" :Utils.defaultFunction,
"fxdgrp.rec.ownref" :Utils.defaultFunction,
"mt30m.rbc.pts.extkey" :Utils.defaultFunction,
"mt30m.ini.pts.extkey" :Utils.defaultFunction,
"mt30m.s94a" :Utils.defaultFunction,
"mt30m.owc.pts.extkey" :Utils.defaultFunction,
"mt30m.c88.pts.extkey" :Utils.defaultFunction,
"mt30m.s22a" :Utils.defaultFunction,
}
//你可以添加自动default处理
import Api from "~/service/Api"
import Pts from "~/page/Model/Common/Pts"
import Pub from "../../../../components/business/commonModel/index.js";
export default class Fxtlcm{
constructor () {
......@@ -222,7 +223,11 @@ export default class Fxtlcm{
ousamt:"", // Outstanding Settlement Amount .mt30m.ousamt
},
fxt300l1blk:"", // XMLPanel fxt300l1的内置block .fxt300l1blk
pageId: "" // ctx的key
pageId: "", // ctx的key
setmod: new Pub().data.Setmod,
docpan: new Pub().data.Docpan,
liaccv: new Pub().data.Liaccv,
trndia: new Pub().data.Trndia,
}
}
}
\ No newline at end of file
......@@ -3,88 +3,81 @@
<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">
<!--fxtlcm PD000001 Confirmation -->
<el-tab-pane :label="$t('fxtlcm.PD000001')" name="cnfp">
<el-tab-pane :label="$t('fxtlcm.Confirmation')" name="cnfp">
<m-cnfp :model="model" :codes="codes"/>
</el-tab-pane>
<!--fxtlcm PD000023 MT300 -->
<el-tab-pane :label="$t('fxtlcm.PD000023')" name="mt300">
<m-mt300 :model="model" :codes="codes"/>
</el-tab-pane>
<!--fxtlcm PD000065 MT300 -->
<el-tab-pane :label="$t('fxtlcm.PD000065')" name="fxt300l1">
<m-fxt300l1 :model="model" :codes="codes"/>
</el-tab-pane>
<!--fxtlcm PD000084 MT300(1) -->
<el-tab-pane :label="$t('fxtlcm.PD000084')" name="mt3001">
<m-mt3001 :model="model" :codes="codes"/>
</el-tab-pane>
<el-tab-pane :label="$t('commonModels.费用/账务')" name="setpan">
<c-content>
<m-setmod :model="model" :codes="codes"></m-setmod>
</c-content>
</el-tab-pane>
<el-tab-pane :label="$t('commonModels.报文/面函')" name="docpan">
<c-content>
<m-docpan :model="model" :codes="codes"></m-docpan>
</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>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Fxtlcm from "../model"
import commonProcess from "~/mixin/commonProcess"
import Check from "../model/Check"
import Default from "../model/Default"
import Pattern from "../model/Pattern"
import operationFunc from "~/mixin/operationFunc"
import Cnfp from "./Cnfp"
import Mt300 from "./Mt300"
import Fxt300l1 from "./Fxt300l1"
import Mt3001 from "./Mt3001"
import Setpan from "~/components/business/setmod/views";
import Docpan from "~/components/business/docpan/views";
import event from "../event";
import commonDepend from "~/mixin/commonDepend";
import buildFn from "../event/buildCommons.js";
export default {
name: "Fxtlcm",
components:{
"m-cnfp" : Cnfp,
"m-mt300" : Mt300,
"m-fxt300l1" : Fxt300l1,
"m-mt3001" : Mt3001,
"m-setpan": Setpan,
"m-docpan": Docpan
},
provide() {
return {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
mixins: [operationFunc, event, commonDepend, buildFn],
data(){
return {
tabVal: "cnfp",
trnName: "fxtlcm",
trnType: "",
model: new Fxtlcm().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
},
codes: {},
rules: {},
}
},
methods:{
myTabClick(tab){
this.tabClick(tab)
/**
* do it yourself
**/
}
},
created:async function(){
console.log("进入fxtlcm交易");
let rtnmsg = {}; // await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
this.updateModel(rtnmsg.data)
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
methods:{},
created:async function(){},
mounted() {
console.log("fxtlcm");
let params = {
transName: this.trnName,
fxdgrp: {
rec: {
inr: this.$route.query.inr || "",
},
},
};
this.init(params)
}
}
</script>
......
......@@ -113,6 +113,17 @@
</c-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="成交日" prop="fxdgrp.rec.opndat">
<c-date-picker
type="date"
v-model="model.fxdgrp.rec.opndat"
style="width: 100%"
placeholder="请输入成交日"
>
</c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="备注" prop="fxdgrp.blk.remark">
<c-input
type="textarea"
......@@ -129,6 +140,11 @@
<!-- ==================右边================ -->
<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-form-item>
</c-col>
<c-col :span="24">
<el-card class="box-card">
<c-ptap
:model="model"
......@@ -150,17 +166,6 @@
</el-card>
</c-col>
<c-col :span="24">
<el-form-item label="成交日" prop="fxdgrp.rec.opndat">
<c-date-picker
type="date"
v-model="model.fxdgrp.rec.opndat"
style="width: 100%"
placeholder="请输入成交日"
>
</c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="起息日" prop="fxdgrp.rec.valdat">
<c-date-picker
type="date"
......
......@@ -11,11 +11,6 @@
<el-tab-pane :label="$t('fxtsqo.业务凭证')" name="fxtapll1">
<m-fxtapll1 :model="model" :codes="codes"/>
</el-tab-pane>
<el-tab-pane :label="$t('commonModels.保证金')" name="ccvpan">
<c-content>
<m-ccvpan :model="model" :codes="codes"></m-ccvpan>
</c-content>
</el-tab-pane>
<el-tab-pane :label="$t('commonModels.费用/账务')" name="setpan">
<c-content>
<m-setmod :model="model" :codes="codes"></m-setmod>
......@@ -30,6 +25,11 @@
<!-- <el-tab-pane :label="$t('fxtsqo.外汇买卖水单/客户回单')" name="fxtapll2">
<m-fxtapll2 :model="model" :codes="codes"/>
</el-tab-pane> -->
<el-tab-pane :label="$t('commonModels.保证金')" name="ccvpan">
<c-content>
<m-ccvpan :model="model" :codes="codes"></m-ccvpan>
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<c-function-btn
......@@ -81,25 +81,20 @@ export default {
},
}
},
methods:{
myTabClick(tab){
this.tabClick(tab)
/**
* do it yourself
**/
}
methods:{},
created:async function(){
},
created:async function(){
mounted() {
console.log("进入fxtsqo交易");
// todo 初始化方法
// let rtnmsg = await this.init({})
// if(rtnmsg.respCode == SUCCESS) {
// this.updateModel(rtnmsg.data)
// //TODO 处理数据逻辑
// } else {
// this.$notify.error({title: '错误',message: '服务请求失败!'});
// }
let params = {
transName: this.trnName,
fxdgrp: {
rec: {
inr: this.$route.query.inr || "",
},
},
};
this.init(params)
}
}
</script>
......
......@@ -71,6 +71,11 @@ export default class Fxtssb {
},
},
},
fxdgrp: {
apl: {
pts: new Pts().data,
},
},
setmod: new Pub().data.Setmod,
docpan: new Pub().data.Docpan,
trndia: new Pub().data.Trndia,
......
......@@ -71,6 +71,11 @@ export default class Fxtsss {
},
},
},
fxdgrp: {
apl: {
pts: new Pts().data,
},
},
setmod: new Pub().data.Setmod,
docpan: new Pub().data.Docpan,
trndia: new Pub().data.Trndia,
......
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,
},
cbsMap: {
MAX: model.fxtp.fxdgrp.cbs.max,
NOM1: model.fxtp.fxdgrp.cbs.nom1,
},
ptsList: ptsptaList,
transName: trnName,
userId: window.sessionStorage.userId ? window.sessionStorage.userId : "ZL",
};
},
},
};
......@@ -2,8 +2,8 @@ import Api from "~/service/Api"
import Utils from "~/utils"
export default {
async onTropDet(){
let rtnmsg = await this.executeRule("trop.det")
async onSndpDet(){
let rtnmsg = await this.executeRule("sndp.det")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
......@@ -14,8 +14,8 @@ export default {
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onTripDet(){
let rtnmsg = await this.executeRule("trip.det")
async onAccpDet(){
let rtnmsg = await this.executeRule("accp.det")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
......
export default {
"ftdgrp.rec.ownref":[
"recpan.recget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.rec.nam":[
"crdgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"recpan.recget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"crdgrp.rec.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"ftdgrp.tro.pts.ref":[
"crdgrp.snd.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 20,message:"长度不能超过20"}
],
"fttp.usr.extkey":[
"recpan.usr.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"fttp.trop.ptsget.sdamod.dadsnd":[
"recpan.usrget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"recpan.sndp.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.tro.pts.extkey":[
"crdgrp.snd.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fttp.trop.ptsget.sdamod.seainf":[
"recpan.sndp.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"ftdgrp.tro.pts.adrblk":[
"crdgrp.cbs.max.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"crdgrp.snd.pts.adrblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.tro.dbfadrblkcn":[
"crdgrp.snd.dbfadrblkcn":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.cbs.max.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"ftdgrp.cbs.opn2.cur":[
"crdgrp.rec.msgref":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"ftdgrp.cbs.opn2.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
{max: 16,message:"长度不能超过16"}
],
"setmod.doccur":[
"crdgrp.rec.msgact":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"canamt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
{max: 21,message:"长度不能超过21"}
],
"ftdgrp.tri.pts.ref":[
"crdgrp.acc.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 20,message:"长度不能超过20"}
],
"fttp.trip.ptsget.sdamod.dadsnd":[
"recpan.accp.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ftdgrp.tri.pts.extkey":[
"crdgrp.acc.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fttp.trip.ptsget.sdamod.seainf":[
"recpan.accp.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"ftdgrp.tri.pts.adrblk":[
"crdgrp.rec.errmsg":[
{type: "string", required: true, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"crdgrp.acc.pts.adrblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"ftdgrp.tri.dbfadrblkcn":[
"crdgrp.acc.dbfadrblkcn":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"recpan.valdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
}
\ No newline at end of file
import Api from "~/service/Api"
import Pts from "~/page/Model/Common/Pts"
import Pub from "~/components/business/commonModel/index.js";
export default class Infcrd {
constructor() {
this.data = {
crdgrp: {
cbs: {
max: {
cur: "", // 清算币种及金额 .crdgrp.cbs.max.cur
amt: "", // 清算币种及金额 .crdgrp.cbs.max.amt
},
},
rec: {
msgact: "", // 汇款账号(Tag59) .crdgrp.rec.msgact
ownref: "", // 业务编号 .crdgrp.rec.ownref
nam: "", // 名称 .crdgrp.rec.nam
msgref: "", // 本行业务编号 .crdgrp.rec.msgref
rcvobjtyp: "", // 业务种类 .crdgrp.rec.rcvobjtyp
rcvbchinr: "", // 归属机构 .crdgrp.rec.rcvbchinr
errmsg: "", // 出错信息 .crdgrp.rec.errmsg
custyp: "", // 客户类型 .crdgrp.rec.custyp
},
snd: {
pts: new Pts().data,
dbfadrblkcn: "", // Chinese address .crdgrp.snd.dbfadrblkcn
},
acc: {
pts: new Pts().data,
dbfadrblkcn: "", // Chinese address .crdgrp.acc.dbfadrblkcn
},
},
setmod: new Pub().data.Setmod,
docpan: new Pub().data.Docpan,
trndia: new Pub().data.Trndia,
recpan: {
recget: {
sdamod: {
seainf: "", // .recpan.recget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .recpan.recget.sdamod.dadsnd
},
},
usr: {
extkey: "", // 经办柜员 .recpan.usr.extkey
},
usrget: {
sdamod: {
seainf: "", // .recpan.usrget.sdamod.seainf
},
},
sndp: {
ptsget: {
sdamod: {
seainf: "", // .recpan.sndp.ptsget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .recpan.sndp.ptsget.sdamod.dadsnd
},
},
},
accp: {
ptsget: {
sdamod: {
seainf: "", // .recpan.accp.ptsget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .recpan.accp.ptsget.sdamod.dadsnd
},
},
},
valdat: "", // 起息日 .recpan.valdat
forare: "", // USE FOR ARE AMTOUNT .recpan.forare
},
pageId: "" // ctx的key
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<c-col :span="24">
<!--
<c-col :span="12">
<c-form-item label="Drag Drop Sender" prop="recpan.recget.sdamod.dadsnd">
<c-input v-model="model.recpan.recget.sdamod.dadsnd"></c-input>
</c-form-item>
</c-col>
<c-col :span="12">
<c-form-item label="" prop="recpan.recget.sdamod.seainf">
<c-input v-model="model.recpan.recget.sdamod.seainf"></c-input>
</c-form-item>
</c-col>
-->
<!-- S0000005 : 业务编号 -->
<c-col :span="12">
<c-form-item :label="$t('crdgrp.业务编号')" prop="crdgrp.rec.ownref">
<c-input v-model="model.crdgrp.rec.ownref" maxlength="16"></c-input>
</c-form-item>
</c-col>
<!-- S0000006 : 名称 -->
<c-col :span="12">
<c-form-item :label="$t('crdgrp.简略信息')" prop="crdgrp.rec.nam">
<c-input v-model="model.crdgrp.rec.nam" maxlength="40"></c-input>
</c-form-item>
</c-col>
</c-col>
<!-- S0000010 : 发报行 -->
<!-- S0000011 : Ref. -->
<!--
<c-col :span="12">
<c-form-item :label="发报行" prop="crdgrp.snd.pts.ref">
<c-input v-model="model.crdgrp.snd.pts.ref" maxlength="20"></c-input>
</c-form-item>
</c-col>
-->
<!-- S0000009 : 经办柜员 -->
<!--
<c-col :span="12">
<c-form-item :label="经办柜员" prop="recpan.usr.extkey">
<c-input v-model="model.recpan.usr.extkey" maxlength="8"></c-input>
</c-form-item>
</c-col>
<c-col :span="12">
<c-form-item label="" prop="recpan.usrget.sdamod.seainf">
<c-input v-model="model.recpan.usrget.sdamod.seainf"></c-input>
</c-form-item>
</c-col>
<c-col :span="12">
<c-form-item label="Drag Drop Sender" prop="recpan.sndp.ptsget.sdamod.dadsnd">
<c-input v-model="model.recpan.sndp.ptsget.sdamod.dadsnd"></c-input>
</c-form-item>
</c-col>
<c-col :span="12">
<c-form-item label="External Key of Address" prop="crdgrp.snd.pts.extkey">
<c-input v-model="model.crdgrp.snd.pts.extkey" maxlength="16"></c-input>
</c-form-item>
</c-col>
<c-col :span="12">
<c-form-item label="" prop="recpan.sndp.ptsget.sdamod.seainf">
<c-input v-model="model.recpan.sndp.ptsget.sdamod.seainf"></c-input>
</c-form-item>
</c-col>
-->
<!-- S0000013 : 清算币种及金额 -->
<c-col :span="24">
<c-col :span="12">
<el-form-item :label="$t('crdgrp.币种')" prop="crdgrp.cbs.max.cur">
<c-select v-model="model.crdgrp.cbs.max.cur" style="width: 100%">
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<c-form-item :label="$t('crdgrp.金额')" prop="crdgrp.cbs.max.amt">
<c-input v-model="model.crdgrp.cbs.max.amt"></c-input>
</c-form-item>
</c-col>
</c-col>
<!-- S0000014 : 本行业务编号 -->
<c-col :span="12">
<c-form-item :label="$t('crdgrp.报文编号')" prop="crdgrp.rec.msgref">
<c-input v-model="model.crdgrp.rec.msgref" maxlength="16"></c-input>
</c-form-item>
</c-col>
<!-- S0000004 : 汇款账号(Tag59) -->
<c-col :span="12">
<c-form-item :label="$t('crdgrp.报文中账号')" prop="crdgrp.rec.msgact">
<c-input v-model="model.crdgrp.rec.msgact" maxlength="21"></c-input>
</c-form-item>
</c-col>
<!-- S0000015 : 业务种类 -->
<c-col :span="12">
<el-form-item :label="$t('crdgrp.清算类型')" prop="crdgrp.rec.rcvobjtyp">
<c-select v-model="model.crdgrp.rec.rcvobjtyp" style="width: 100%">
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item :label="$t('crdgrp.业务类型')" prop="crdgrp.rec.custyp">
<c-select v-model="model.crdgrp.rec.custyp" style="width: 100%">
</c-select>
</el-form-item>
</c-col>
<!-- S0000017 : 账户行 -->
<!-- S0000018 : Ref. -->
<c-col :span="12">
<c-ptap-ext
:argadr="{
title: '发报行',
extCodes: ['infcrd'],
grp: 'crdgrp',
rol: 'apl',
}"
:requiredExtkey="true"
:isFieldLabelVisible="true"
:refVisiable="true"
:isAdrblk="true"
:disabled="true"
:model="model"
ptytyp="B"
>
</c-ptap-ext>
</c-col>
<c-col :span="12">
<c-ptap-ext
:argadr="{
title: '收报行',
extCodes: ['infcrd'],
grp: 'crdgrp',
rol: 'dff',
}"
:requiredExtkey="true"
:isFieldLabelVisible="true"
:refVisiable="true"
:isAdrblk="true"
:disabled="true"
:model="model"
ptytyp="C"
>
</c-ptap-ext>
</c-col>
<!--
<c-col :span="12">
<c-form-item :label="$t('crtp.S0000017')" prop="crdgrp.acc.pts.ref">
<c-input v-model="model.crdgrp.acc.pts.ref" maxlength="20"></c-input>
</c-form-item>
</c-col>
-->
<!-- S0000020 : 归属机构 -->
<!--
<c-col :span="12">
<el-form-item :label="$t('crtp.S0000020')" prop="crdgrp.rec.rcvbchinr">
<c-select v-model="model.crdgrp.rec.rcvbchinr" style="width:100%">
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<c-form-item label="Drag Drop Sender" prop="recpan.accp.ptsget.sdamod.dadsnd">
<c-input v-model="model.recpan.accp.ptsget.sdamod.dadsnd"></c-input>
</c-form-item>
</c-col>
<c-col :span="12">
<c-form-item label="External Key of Address" prop="crdgrp.acc.pts.extkey">
<c-input v-model="model.crdgrp.acc.pts.extkey" maxlength="16"></c-input>
</c-form-item>
</c-col>
<c-col :span="12">
<c-form-item label="" prop="recpan.accp.ptsget.sdamod.seainf">
<c-input v-model="model.recpan.accp.ptsget.sdamod.seainf"></c-input>
</c-form-item>
</c-col>
-->
<!-- S0000021 : 出错信息 -->
<!--
<c-col :span="12">
<c-form-item :label="$t('crtp.S0000021')" prop="crdgrp.rec.errmsg">
<c-input type="textarea" v-model="model.crdgrp.rec.errmsg" maxlength="40" show-word-limit></c-input>
</c-form-item>
</c-col>
<c-col :span="12">
<c-form-item label="Address Block" prop="crdgrp.acc.pts.adrblk">
<c-input type="textarea" v-model="model.crdgrp.acc.pts.adrblk" maxlength="35" show-word-limit></c-input>
</c-form-item>
</c-col>
<c-col :span="12">
<c-form-item label="Chinese address" prop="crdgrp.acc.dbfadrblkcn">
<c-input type="textarea" v-model="model.crdgrp.acc.dbfadrblkcn" maxlength="35" show-word-limit></c-input>
</c-form-item>
</c-col>
-->
<!-- S0000053 : 客户类型 -->
<!-- S0000056 : 起息日 -->
<c-col :span="12">
<el-form-item :label="$t('crdgrp.清算时间')" prop="recpan.valdat">
<c-date-picker
type="date"
v-model="model.recpan.valdat"
style="width: 100%"
></c-date-picker>
</el-form-item>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "../event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [],
data() {
return {};
},
methods: { ...Event },
created: function () {},
};
</script>
<style>
</style>
<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="menu" name="infconp">
<c-content>
<m-infconp :model="model" :codes="codes" />
</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 Infcrd from "../model"
import commonProcess from "~/mixin/commonProcess"
import Check from "../model/Check.js"
import Pattern from "../event/buildCommons.js"
import Infconp from "./Infconp"
export default {
name: "Infcrd",
components:{
"m-infconp" : Infconp,
},
provide() {
return {
root: this
}
},
mixins: [commonProcess,Pattern], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "infconp",
trnName: "infcrd",
trnType: "",
model: new Infcrd().data,
rules: Check,
codes: {...CodeTable },
}
},
methods:{
myTabClick(tab){
this.tabClick(tab)
/**
* do it yourself
**/
}
},
created:async function(){
console.log("进入infcrd交易");
let rtnmsg = await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
this.updateModel(rtnmsg.data)
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
}
}
</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