Commit e7e5ba78 by zenghuan

境内外币管理

parent a7889819
......@@ -85,7 +85,7 @@ export default {
stmData: {
columns: [
{
label: "reqnum",
label: "申请号",
prop: "rsptim",
width: "120px"
},
......
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;
}
},
};
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<!-- 持续展示区 -->
<template v-slot="searchSlot">
<el-row>
<c-col :span="24">
<div class="e-table-wrapper">
<el-table
:data="model.fxdgrp.fxdlst"
style="width: 100%"
>
<el-table-column
prop="credat"
label="导入日期"
sortable
width="100">
</el-table-column>
<el-table-column
prop="filtyp"
label="文件类型"
sortable
width="150">
<template slot-scope="scope">
<span>{{ this.codes.filtyp.find(item=>item.value==scope.row.filtyp).label }}</span>
</template>
</el-table-column>
<el-table-column
prop="filnam"
label="文件名"
sortable
width="300">
</el-table-column>
<el-table-column
prop="filpth"
label="文件路径"
sortable
width="450">
</el-table-column>
</el-table>
<el-pagination
layout="prev, pager, next"
:total="1">
</el-pagination>
</div>
</c-col>
<!-- LT000023 : 导入起始日期: -->
<c-col :span="12">
<el-form-item :label="$t('fxdp.LT000023')" prop="fxdp.begdat">
<c-date-picker type="date" v-model="model.fxdp.begdat" style="width:100%" :placeholder="$t('other.please_enter')+$t('fxdp.LT000023')"></c-date-picker>
<c-col :span="8">
<el-form-item label="文件名" prop="" style="width: 100%">
<c-input v-model="model.fxdp.filnam" style="width: 100%" placeholder="请输入文件名"/>
</el-form-item>
</c-col>
<!-- LT000024 : 导入截止日期: -->
<c-col :span="12">
<el-form-item :label="$t('fxdp.LT000024')" prop="fxdp.enddat">
<c-date-picker type="date" v-model="model.fxdp.enddat" style="width:100%" :placeholder="$t('other.please_enter')+$t('fxdp.LT000024')"></c-date-picker>
<c-col :span="8">
<el-form-item label="文件类型" prop="" style="width: 100%">
<c-select v-model="model.fxdp.filtyp" style="width: 100%" placeholder="请选择文件类型"
:code="codes.filtyp"/>
</el-form-item>
</c-col>
<!-- LT000003 : 文件类型: -->
<c-col :span="12">
<el-form-item :label="$t('fxdp.LT000003')" prop="fxdp.filtyp">
<c-select v-model="model.fxdp.filtyp" style="width:100%" :placeholder="$t('other.please_enter')+$t('fxdp.LT000003')">
<el-option
v-for="item in codes.filtyp"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</c-select>
<c-col :span="8">
<el-form-item label="导入日期" prop="rcvdatsta" style="width: 100%">
<c-col :span="11">
<c-date-picker type="date" v-model="model.fxdp.begdat" style="width: 100%"></c-date-picker>
</c-col>
<c-col :span="2" style="text-align: center">
<label style="display: inline-block; width: 100%">-</label>
</c-col>
<c-col :span="11">
<c-date-picker type="date" v-model="model.fxdp.enddat" style="width: 100%"></c-date-picker>
</c-col>
</el-form-item>
</c-col>
<!-- LT000004 : 文件名: -->
<c-col :span="12">
<c-form-item :label="$t('fxdp.LT000004')" prop="fxdp.filnam">
<c-input v-model="model.fxdp.filnam" maxlength="50" :placeholder="$t('other.please_enter')+$t('fxdp.LT000004')"></c-input>
</c-form-item>
</c-col>
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle">
</el-row>
</template>
</c-list-search>
<c-col :span="12">
<c-button size="small" type="primary" icon="el-icon-search" @click="onSel">
{{$t('fxdp.BT000061')}}
<el-col :span="24" style="margin-top: 2px;margin-bottom: 1px;">
<c-button :disabled="isFoldDisable" class="medium_bcs" size="medium" style="margin-left: 0"
type="primary">{{ $t('public.归档') }}
</c-button>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" @click="onReset">
{{$t('fxdp.BT000062')}}
<c-button :disabled="isRoutingDisable" class="medium_bcs" size="medium"
style="margin-left: 20" type="primary">ReRouting
</c-button>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" @click="onHtymodHty">
{{$t('fxdp.BT000414')}}
<c-button class="medium_bcs" size="medium" style="margin-left: 20" type="primary">
{{ $t('public.导出Excel') }}
</c-button>
</c-col>
</el-col>
<c-col :span="12">
<c-button size="small" type="primary" @click="onFxdpAdd">
{{$t('fxdp.BT000031')}}
</c-button>
<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 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'],
props:["model","codes"],
mixins: [commonProcess],
data(){
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeTab: 'fb',
load: false,
subtypCodes: [],
multipleSelection: [],
stmData: {
columns: [
{
label: "导入日期",
prop: "credat",
width: "120px"
},
{
label: "文件类型",
prop: "filtyp",
width: "120px"
},
{
label: "文件名",
prop: "filnam",
width: "120px"
},
{
label: "文件路径",
prop: "filpth",
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:{...Event},
created:function(){
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;
}
}
</script>
<style>
.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">
<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">
<!--fxdp PD000017 主面板 -->
<el-tab-pane :label="$t('fxdp.PD000017')" name="selmainp">
<m-selmainp :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
<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-selmainp :model="model" :codes="codes" ref="selmainp"/>
</c-content>
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Dblfxd from "../model"
import commonProcess from "~/mixin/commonProcess"
import Check from "../model/Check"
import Default from "../model/Default"
import Pattern from "../model/Pattern"
import Selmainp from "./Selmainp"
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Dblfxd from "../model";
import event from "../event"
import Selmainp from "./Selmainp.vue"
export default {
export default {
name: "Dblfxd",
components:{
"m-selmainp" : Selmainp,
},
provide() {
return {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "selmainp",
trnName: "dblfxd",
trnType: "",
model: new Dblfxd().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
sta:CodeTable.sta,
kpatyp:CodeTable.kpatyp,
actsta:CodeTable.actsta,
cur:CodeTable.cur,
sdcflg:CodeTable.sdcflg,
offsta:CodeTable.offsta,
batcharge:CodeTable.batcharge,
msgmst:CodeTable.msgmst,
yosflg:CodeTable.yosflg,
filtyp:CodeTable.filtyp,
fmssta:CodeTable.fmssta,
bnksta:CodeTable.bnksta,
usratr:CodeTable.usratr,
codes:{...CodeTable},
};
},
}
},
methods:{
myTabClick(tab){
this.tabClick(tab)
/**
* do it yourself
**/
}
},
created:async function(){
console.log("进入dblfxd交易");
let rtnmsg = {}; // await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
this.updateModel(rtnmsg.data)
//TODO 处理数据逻辑
methods:{},
created:async function() {},
};
</script>
<style scoped>
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
}
}
</script>
<style>
</style>
\ No newline at end of file
</style>
......@@ -43,6 +43,8 @@ const BusRouter = [
// 报文管理w
{path: 'rcvsel',component: ()=>import("./Rcvsel/views"),name: 'Rcvsel', meta: { keepAlive: true, title: '收报查询' }},
{path: 'sndsel',component: ()=>import("./Sndsel/views"),name: 'Sndsel',meta: { keepAlive: true, title: '发报查询' }},
{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: '人工清分' }},
]
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() {
},
// 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;
}
},
};
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<!-- 持续展示区 -->
<template v-slot="searchSlot">
<el-row>
<c-col :span="24">
<div class="e-table-wrapper">
<el-table
:data="model.jfdgrp.jfdlst"
style="width: 100%"
>
<el-table-column
prop="strdat"
label="计费开始日期"
sortable
width="120">
</el-table-column>
<el-table-column
prop="enddat"
label="计费终止日期"
sortable
width="120">
</el-table-column>
<el-table-column
prop="monrto"
label="月累计业务量收费比率"
sortable
width="160">
</el-table-column>
<el-table-column
prop="monnum"
label="月累计业务量"
sortable
width="120">
</el-table-column>
<el-table-column
prop="bnkrto"
label="直接参与者收费比率"
sortable
width="150">
</el-table-column>
<el-table-column
prop="act"
label="计费收款行账号"
sortable
width="160">
</el-table-column>
<el-table-column
prop="sumamt"
label="收费总金额"
sortable
width="120">
</el-table-column>
<el-table-column
prop="mondat"
label="计费月份"
sortable
width="100">
</el-table-column>
<el-table-column
prop="dattim"
label="接收时间"
sortable
width="100">
</el-table-column>
<el-table-column
prop="num"
label="计费明细"
sortable
width="80">
</el-table-column>
</el-table>
<el-pagination
layout="prev, pager, next"
:total="1">
</el-pagination>
</div>
</c-col>
<!-- LT000119 : 起始日期 -->
<!-- LT000125 : : -->
<c-col :span="12">
<el-form-item :label="$t('jfdp.LT000125')" prop="jfdp.begdat">
<c-date-picker type="date" v-model="model.jfdp.begdat" style="width:100%" :placeholder="$t('other.please_enter')+$t('jfdp.LT000125')"></c-date-picker>
<c-col :span="8">
<el-form-item label="计费收款行账号" prop="" style="width: 100%">
<c-input v-model="model.jfdgrp.jfd.act" style="width: 100%" placeholder="请输入计费收款行账号"/>
</el-form-item>
</c-col>
<!-- LT000120 : 截止日期 -->
<!-- LT000130 : : -->
<c-col :span="12">
<el-form-item :label="$t('jfdp.LT000130')" prop="jfdp.enddat">
<c-date-picker type="date" v-model="model.jfdp.enddat" style="width:100%" :placeholder="$t('other.please_enter')+$t('jfdp.LT000130')"></c-date-picker>
<c-col :span="8">
<el-form-item label="日期" prop="rcvdatsta" style="width: 100%">
<c-col :span="11">
<c-date-picker type="date" v-model="model.jfdp.begdat" style="width: 100%"></c-date-picker>
</c-col>
<c-col :span="2" style="text-align: center">
<label style="display: inline-block; width: 100%">-</label>
</c-col>
<c-col :span="11">
<c-date-picker type="date" v-model="model.jfdp.enddat" style="width: 100%"></c-date-picker>
</c-col>
</el-form-item>
</c-col>
<!-- LT000121 : 计费收款行账号 -->
<!-- LT000131 : : -->
<c-col :span="12">
<c-form-item :label="$t('jfdp.LT000121')" prop="jfdgrp.jfd.act">
<c-input v-model="model.jfdgrp.jfd.act" maxlength="35" :placeholder="$t('other.please_enter')+$t('jfdp.LT000121')"></c-input>
</c-form-item>
<c-col :span="8">
<el-form-item
:label="$t('lc.金额区间')"
style="width: 100%"
>
<c-col :span="11">
<c-input
v-model="model.jfdp.amtmin"
:placeholder="$t('lc.请输入金额下限')"
style="width: 100%"
></c-input>
</c-col>
<!-- LT000122 : 金额上限 -->
<!-- LT000132 : : -->
<c-col :span="12">
<c-form-item :label="$t('jfdp.LT000132')" prop="jfdp.amtmin">
<c-input v-model="model.jfdp.amtmin" :placeholder="$t('other.please_enter')+$t('jfdp.LT000132')"></c-input>
</c-form-item>
<c-col :span="2" style="text-align: center">
<label style="display: inline-block; width: 100%">-</label>
</c-col>
<!-- LT000123 : 金额下限 -->
<!-- LT000133 : : -->
<c-col :span="12">
<c-form-item :label="$t('jfdp.LT000133')" prop="jfdp.amtmax">
<c-input v-model="model.jfdp.amtmax" :placeholder="$t('other.please_enter')+$t('jfdp.LT000133')"></c-input>
</c-form-item>
<c-col :span="11">
<c-input
v-model="model.jfdp.amtmax"
:placeholder="$t('lc.请输入金额上限')"
style="width: 100%"
></c-input>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" icon="el-icon-search" @click="onJfdpSelbtn">
{{$t('jfdp.BT000034')}}
</c-button>
</el-form-item>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" @click="onJfdpClrbtn">
{{$t('jfdp.BT000134')}}
</c-button>
</c-col>
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle">
</el-row>
</template>
</c-list-search>
<c-col :span="12">
<c-button size="small" type="primary" @click="onJfdpPfabtn">
{{$t('jfdp.BT000135')}}
<el-col :span="24" style="margin-top: 2px;margin-bottom: 1px;">
<c-button :disabled="isFoldDisable" class="medium_bcs" size="medium" style="margin-left: 0"
type="primary">{{ $t('public.归档') }}
</c-button>
</c-col>
<c-button :disabled="isRoutingDisable" class="medium_bcs" size="medium"
style="margin-left: 20" type="primary">ReRouting
</c-button>
<c-button class="medium_bcs" size="medium" style="margin-left: 20" type="primary">
{{ $t('public.导出Excel') }}
</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 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'],
props:["model","codes"],
mixins: [commonProcess],
data(){
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeTab: 'fb',
load: false,
subtypCodes: [],
multipleSelection: [],
stmData: {
columns: [
{
label: "月累计业务量收费比率",
prop: "monrto",
width: "120px"
},
{
label: "月累计业务量",
prop: "monnum",
width: "120px"
},
{
label: "直接参与者收费比率",
prop: "bnkrto",
width: "120px"
},
{
label: "计费收款行账号",
prop: "act",
width: "120px"
},
{
label: "收费总金额",
prop: "sumamt",
width: "120px"
},
{
label: "累计月份",
prop: "mondat",
width: "120px"
},
{
label: "接收时间",
prop: "dattim",
width: "120px"
},
{
label: "计费明细",
prop: "num",
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:{...Event},
created:function(){
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;
}
}
</script>
<style>
.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">
<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">
<!--jfdp PD000000 计费单查询主页面 -->
<el-tab-pane :label="$t('jfdp.PD000000')" name="hompnl">
<m-hompnl :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
<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-hompnl :model="model" :codes="codes" ref="hompnl"/>
</c-content>
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Jfdsel from "../model"
import commonProcess from "~/mixin/commonProcess"
import Check from "../model/Check"
import Default from "../model/Default"
import Pattern from "../model/Pattern"
import Hompnl from "./Hompnl"
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Jfdsel from "../model";
import event from "../event"
import Hompnl from "./Hompnl.vue"
export default {
export default {
name: "Jfdsel",
components:{
"m-hompnl" : Hompnl,
},
provide() {
return {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "hompnl",
trnName: "jfdsel",
trnType: "",
model: new Jfdsel().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
area:CodeTable.area,
cpsfxdtyp:CodeTable.cpsfxdtyp,
sta:CodeTable.sta,
kpatyp:CodeTable.kpatyp,
actsta:CodeTable.actsta,
cur:CodeTable.cur,
sdcflg:CodeTable.sdcflg,
offsta:CodeTable.offsta,
batcharge:CodeTable.batcharge,
msgmst:CodeTable.msgmst,
yosflg:CodeTable.yosflg,
filtyp:CodeTable.filtyp,
kpstyp:CodeTable.kpstyp,
dcflg:CodeTable.dcflg,
fmssta:CodeTable.fmssta,
bnksta:CodeTable.bnksta,
usratr:CodeTable.usratr,
kpadir:CodeTable.kpadir,
codes:{...CodeTable},
};
},
}
},
methods:{
myTabClick(tab){
this.tabClick(tab)
/**
* do it yourself
**/
}
},
created:async function(){
console.log("进入jfdsel交易");
let rtnmsg = {}; // await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
this.updateModel(rtnmsg.data)
//TODO 处理数据逻辑
methods:{},
created:async function() {},
};
</script>
<style scoped>
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
}
}
</script>
<style>
</style>
\ No newline at end of file
</style>
import Api from "~/service/Api";
import moment from "moment";
export default {
methods: {
async handleSearch() {
},
async handleReset() {
},
// 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;
}
},
};
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<!-- 持续展示区 -->
<template v-slot="searchSlot">
<el-row>
<c-col :span="24">
<div class="e-table-wrapper">
<el-table
:data="model.lmngrp.lmnlst"
style="width: 100%"
>
<el-table-column
prop="valdat"
label="起息日"
sortable
width="100">
</el-table-column>
<el-table-column
prop="ownref"
label="20域编号"
sortable
width="150">
</el-table-column>
<el-table-column
prop="othref"
label="21域编号"
sortable
width="150">
</el-table-column>
<el-table-column
prop="nxtchncod"
label="子系统"
sortable
width="160">
<template slot-scope="scope">
<span>{{ this.codes.chncod.find(item=>item.value==scope.row.nxtchncod).label }}</span>
</template>
</el-table-column>
<el-table-column
prop="chncod"
label="行内系统"
sortable
width="160">
<template slot-scope="scope">
<span>{{ this.codes.chncod.find(item=>item.value==scope.row.chncod).label }}</span>
</template>
</el-table-column>
<el-table-column
prop="sndbic"
label="发报行"
sortable
width="120">
</el-table-column>
<el-table-column
prop="rcvbic"
label="收报行"
sortable
width="120">
</el-table-column>
<el-table-column
prop="msgtyp"
label="报文标准"
sortable
width="80">
<template slot-scope="scope">
<span>{{ this.codes.msgmst.find(item=>item.value==scope.row.msgtyp).label }}</span>
</template>
</el-table-column>
<el-table-column
prop="subtyp"
label="报文类型"
sortable
width="80">
</el-table-column>
<el-table-column
prop="lstdattim"
label="最近处理时间"
sortable
width="200">
</el-table-column>
<el-table-column
prop="sta"
label="处理状态"
sortable
width="100">
<template slot-scope="scope">
<span>{{ this.codes.stacod.find(item=>item.value==scope.row.sta).label }}</span>
</template>
</el-table-column>
</el-table>
<el-pagination
layout="prev, pager, next"
:total="1">
</el-pagination>
</div>
</c-col>
<!-- LT000004 : 起始日期 -->
<!-- LT000014 : : -->
<c-col :span="12">
<el-form-item :label="$t('lmnp.LT000004')" prop="lmnp.begsta">
<c-date-picker type="date" v-model="model.lmnp.begsta" style="width:100%" :placeholder="$t('other.please_enter')+$t('lmnp.LT000004')"></c-date-picker>
</el-form-item>
</c-col>
<!-- LT000005 : 截止日期 -->
<!-- LT000015 : : -->
<c-col :span="12">
<el-form-item :label="$t('lmnp.LT000005')" prop="lmnp.enddat">
<c-date-picker type="date" v-model="model.lmnp.enddat" style="width:100%" :placeholder="$t('other.please_enter')+$t('lmnp.LT000005')"></c-date-picker>
</el-form-item>
</c-col>
<!-- LT000034 : 收发方向 -->
<!-- LT000035 : : -->
<c-col :span="12">
<el-form-item :label="$t('lmnp.LT000034')" prop="lmnp.dir">
<c-select v-model="model.lmnp.dir" style="width:100%" :placeholder="$t('other.please_enter')+$t('lmnp.LT000034')">
<el-option
v-for="item in codes.dircod"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</c-select>
<c-col :span="8">
<el-form-item label="申请序号" prop="" style="width: 100%">
<c-input v-model="model.lmnp.reqnum" style="width: 100%" placeholder="请输入申请序号"/>
</el-form-item>
</c-col>
<!-- LT000006 : 报文标准 -->
<!-- LT000016 : : -->
<c-col :span="12">
<el-form-item :label="$t('lmnp.LT000006')" prop="lmnp.msgtyp">
<c-select v-model="model.lmnp.msgtyp" style="width:100%" :placeholder="$t('other.please_enter')+$t('lmnp.LT000006')">
<el-option
v-for="item in codes.msgtyp"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</c-select>
<c-col :span="8">
<el-form-item label="报文类型" prop="" style="width: 100%">
<c-select v-model="model.lmnp.subtyp" style="width: 100%" placeholder="请选择报文类型"
:code="codes.subtyp"/>
</el-form-item>
</c-col>
<!-- LT000007 : 报文类型 -->
<!-- LT000017 : : -->
<c-col :span="12">
<el-form-item :label="$t('lmnp.LT000007')" prop="lmngrp.mpi.subtyp">
<c-select v-model="model.lmngrp.mpi.subtyp" style="width:100%" :placeholder="$t('other.please_enter')+$t('lmnp.LT000007')">
</c-select>
<c-col :span="8">
<el-form-item label="发起节点:" prop="" style="width: 100%">
<c-input v-model="model.lmnp.sndcod" style="width: 100%" placeholder="请输入发起节点:"/>
</el-form-item>
</c-col>
<!-- LT000008 : 20域编号 -->
<!-- LT000018 : : -->
<c-col :span="12">
<c-form-item :label="$t('lmnp.LT000008')" prop="lmngrp.mpi.ownref">
<c-input v-model="model.lmngrp.mpi.ownref" maxlength="35" :placeholder="$t('other.please_enter')+$t('lmnp.LT000008')"></c-input>
</c-form-item>
</c-col>
<!-- LT000009 : 21域编号 -->
<!-- LT000019 : : -->
<c-col :span="12">
<c-form-item :label="$t('lmnp.LT000009')" prop="lmnp.othref">
<c-input v-model="model.lmnp.othref" maxlength="16" :placeholder="$t('other.please_enter')+$t('lmnp.LT000009')"></c-input>
</c-form-item>
</c-col>
<!-- LT000013 : 发报行 -->
<!-- LT000021 : : -->
<c-col :span="12">
<c-form-item :label="$t('lmnp.LT000013')" prop="lmngrp.mpi.sndbic">
<c-input v-model="model.lmngrp.mpi.sndbic" maxlength="11" :placeholder="$t('other.please_enter')+$t('lmnp.LT000013')"></c-input>
</c-form-item>
</c-col>
<!-- LT000033 : 收报行 -->
<!-- LT000036 : : -->
<c-col :span="12">
<c-form-item :label="$t('lmnp.LT000033')" prop="lmnp.rcvbic">
<c-input v-model="model.lmnp.rcvbic" maxlength="11" :placeholder="$t('other.please_enter')+$t('lmnp.LT000033')"></c-input>
</c-form-item>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" icon="el-icon-search" @click="onLmnpSel">
{{$t('lmnp.BT000011')}}
</c-button>
</c-col>
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle">
</el-row>
</template>
</c-list-search>
<c-col :span="12">
<c-button size="small" type="primary" @click="onLmnpClr">
{{$t('lmnp.BT000012')}}
<el-col :span="24" style="margin-top: 2px;margin-bottom: 1px;">
<c-button :disabled="isFoldDisable" class="medium_bcs" size="medium" style="margin-left: 0"
type="primary">{{ $t('public.归档') }}
</c-button>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" @click="onLmnpLimwar">
{{$t('lmnp.BT000040')}}
<c-button :disabled="isRoutingDisable" class="medium_bcs" size="medium"
style="margin-left: 20" type="primary">ReRouting
</c-button>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" icon="el-icon-search" @click="onLmnpLimsel">
{{$t('lmnp.BT000039')}}
<c-button class="medium_bcs" size="medium" style="margin-left: 20" type="primary">
{{ $t('public.导出Excel') }}
</c-button>
</c-col>
</el-col>
<c-col :span="12">
<c-button size="small" type="primary" icon="el-icon-search" @click="onLmnpYuesel">
{{$t('lmnp.BT000038')}}
</c-button>
</c-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>
<c-col :span="12">
<c-button size="small" type="primary" @click="onLmnpQuemon">
{{$t('lmnp.BT000037')}}
</c-button>
<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 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'],
props:["model","codes"],
mixins: [commonProcess],
data(){
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeTab: 'fb',
load: false,
subtypCodes: [],
multipleSelection: [],
stmData: {
columns: [
{
label: "起息日",
prop: "vludat",
width: "120px"
},
{
label: "20域编号",
prop: "ownref",
width: "120px"
},
{
label: "21域编号",
prop: "othref",
width: "120px"
},
{
label: "子系统",
prop: "nxtchncod",
width: "120px"
},
{
label: "行内系统",
prop: "chncod",
width: "120px"
},
{
label: "发报行",
prop: "sndbic",
width: "120px"
},
{
label: "收报行",
prop: "rcvbic",
width: "120px"
},
{
label: "报文标准",
prop: "msgtyp",
width: "120px"
},
{
label: "报文类型",
prop: "subtyp",
width: "120px"
},
{
label: "最近处理时间",
prop: "enddat",
width: "120px"
},
{
label: "处理状态",
prop: "sta",
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:{...Event},
created:function(){
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;
}
}
</script>
<style>
.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">
<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">
<!--lmnp PD000000 查询主页面 -->
<el-tab-pane :label="$t('lmnp.PD000000')" name="manpnl">
<m-manpnl :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
<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-manpnl :model="model" :codes="codes" ref="manpnl"/>
</c-content>
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Lmnsel from "../model"
import commonProcess from "~/mixin/commonProcess"
import Check from "../model/Check"
import Default from "../model/Default"
import Pattern from "../model/Pattern"
import Manpnl from "./Manpnl"
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Lmnsel from "../model";
import event from "../event"
import Manpnl from "./Manpnl.vue"
export default {
export default {
name: "Lmnsel",
components:{
"m-manpnl" : Manpnl,
},
provide() {
return {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "manpnl",
trnName: "lmnsel",
trnType: "",
model: new Lmnsel().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
area:CodeTable.area,
cpsfxdtyp:CodeTable.cpsfxdtyp,
sta:CodeTable.sta,
kpatyp:CodeTable.kpatyp,
actsta:CodeTable.actsta,
cur:CodeTable.cur,
sdcflg:CodeTable.sdcflg,
offsta:CodeTable.offsta,
batcharge:CodeTable.batcharge,
msgmst:CodeTable.msgmst,
yosflg:CodeTable.yosflg,
filtyp:CodeTable.filtyp,
dircod:CodeTable.dircod,
kpstyp:CodeTable.kpstyp,
dcflg:CodeTable.dcflg,
msgtyp:CodeTable.msgtyp,
fmssta:CodeTable.fmssta,
chncod:CodeTable.chncod,
stacod:CodeTable.stacod,
bnksta:CodeTable.bnksta,
usratr:CodeTable.usratr,
kpadir:CodeTable.kpadir,
codes:{...CodeTable},
};
},
}
},
methods:{
myTabClick(tab){
this.tabClick(tab)
/**
* do it yourself
**/
}
},
created:async function(){
console.log("进入lmnsel交易");
let rtnmsg = {}; // await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
this.updateModel(rtnmsg.data)
//TODO 处理数据逻辑
methods:{},
created:async function() {},
};
</script>
<style scoped>
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
}
}
</script>
<style>
</style>
\ No newline at end of file
</style>
import Api from "~/service/Api";
import moment from "moment";
export default {
methods: {
async handleSearch() {
},
async handleReset() {
},
// 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;
}
},
};
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<!-- 持续展示区 -->
<template v-slot="searchSlot">
<el-row>
<c-col :span="24">
<div class="e-table-wrapper">
<el-table
:data="model.msggrp.rcvlst"
style="width: 100%"
>
<el-table-column
prop="valdat"
label="起息日"
sortable
width="85">
</el-table-column>
<el-table-column
prop="ownref"
label="20域编号"
sortable
width="140">
</el-table-column>
<el-table-column
prop="othref"
label="21域编号"
sortable
width="140">
</el-table-column>
<el-table-column
prop="sweflg"
label="G渠道"
sortable
width="60">
</el-table-column>
<el-table-column
prop="cur"
label="币种"
sortable
width="40">
</el-table-column>
<el-table-column
prop="amt"
label="金额"
sortable
width="110">
</el-table-column>
<el-table-column
prop="act"
label="账号"
sortable
width="150">
</el-table-column>
<el-table-column
prop="nxtchncod"
label="子系统"
sortable
width="160">
<template slot-scope="scope">
<span>{{ this.codes.chncod.find(item=>item.value==scope.row.nxtchncod).label }}</span>
</template>
</el-table-column>
<el-table-column
prop="chncod"
label="行内系统"
sortable
width="120">
<template slot-scope="scope">
<span>{{ this.codes.chncod.find(item=>item.value==scope.row.chncod).label }}</span>
</template>
</el-table-column>
<el-table-column
prop="t53bic"
label="账户行BIC(53域)"
sortable
width="100">
</el-table-column>
<el-table-column
prop="actbic"
label="账户行BIC(54域)"
sortable
width="100">
</el-table-column>
<el-table-column
prop="sndbic"
label="发报行BIC"
sortable
width="100">
</el-table-column>
<el-table-column
prop="rcvbic"
label="收报行BIC"
sortable
width="100">
</el-table-column>
<el-table-column
prop="msgtyp"
label="报文标准"
sortable
width="70">
<template slot-scope="scope">
<span>{{ this.codes.msgmst.find(item=>item.value==scope.row.msgtyp).label }}</span>
</template>
</el-table-column>
<el-table-column
prop="subtyp"
label="报文类型"
sortable
width="70">
</el-table-column>
<el-table-column
prop="snddattim"
label="发送时间"
sortable
width="160">
</el-table-column>
<el-table-column
prop="rspsta"
label="回执状态"
sortable
width="70">
<template slot-scope="scope">
<span>{{ this.codes.rspsta.find(item=>item.value==scope.row.rspsta).label }}</span>
</template>
</el-table-column>
<el-table-column
prop="sta"
label="处理状态"
sortable
width="100">
<template slot-scope="scope">
<span>{{ this.codes.msgsta.find(item=>item.value==scope.row.sta).label }}</span>
</template>
</el-table-column>
<el-table-column
prop="usrnam"
label="操作员"
sortable
width="100">
</el-table-column>
</el-table>
<el-pagination
layout="prev, pager, next"
:total="1">
</el-pagination>
</div>
</c-col>
<!-- FD000005 : 起始日期 -->
<!-- LT000086 : : -->
<c-col :span="8">
<el-form-item label="起始日期" prop="sndp.rcvdatsta">
<c-date-picker type="date" v-model="model.sndp.rcvdatsta" style="width:100%" placeholder="请输入起始日期"></c-date-picker>
</el-form-item>
</c-col>
<!-- FD000006 : 截止日期 -->
<!-- LT000087 : : -->
<c-col :span="8">
<el-form-item label="截止日期" prop="sndp.rcvdatend">
<c-date-picker type="date" v-model="model.sndp.rcvdatend" style="width:100%" placeholder="请输入截止日期"></c-date-picker>
</el-form-item>
</c-col>
<!-- FD000007 : 报文标准 -->
<!-- LT000088 : : -->
<c-col :span="8">
<el-form-item label="报文标准" prop="sndp.msgtyp">
<c-select v-model="model.sndp.msgtyp" style="width:100%" placeholder="请选择报文标准">
<el-option
v-for="item in codes.msgmst"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</c-select>
</el-form-item>
</c-col>
<!-- FD000008 : 报文类型 -->
<!-- LT000089 : : -->
<c-col :span="8">
<el-form-item label="报文类型" prop="sndp.subtyp">
<c-select v-model="model.sndp.subtyp" style="width:100%" placeholder="请选择报文类型">
</c-select>
</el-form-item>
</c-col>
<!-- LT000274 : GPI标识 -->
<!-- LT000275 : : -->
<c-col :span="8">
<el-form-item label="GPI标识" prop="sndp.gpi">
<c-select v-model="model.sndp.gpi" style="width:100%" placeholder="请输入GPI标识">
</c-select>
</el-form-item>
</c-col>
<!-- FD000009 : 发报行BIC -->
<!-- LT000090 : : -->
<c-col :span="8">
<c-form-item label="发报行BIC" prop="sndp.sndbak">
<c-input v-model="model.sndp.sndbak" maxlength="20" placeholder="请输入发报行BIC"></c-input>
</c-form-item>
</c-col>
<!-- FD000010 : 收报行BIC -->
<!-- LT000091 : : -->
<c-col :span="8">
<c-form-item label="收报行BIC" prop="sndp.revbak">
<c-input v-model="model.sndp.revbak" maxlength="20" placeholder="请输入收报行BIC"></c-input>
</c-form-item>
</c-col>
<!-- LT000052 : 账户行BIC -->
<!-- LT000092 : : -->
<c-col :span="8">
<c-form-item label="账户行BIC" prop="sndp.actbic">
<c-input v-model="model.sndp.actbic" maxlength="20" placeholder="请输入账户行BIC"></c-input>
</c-form-item>
</c-col>
<!-- FD000011 : 20域编号 -->
<!-- LT000093 : : -->
<c-col :span="8">
<c-form-item label="20域编号" prop="sndp.ownref">
<c-input v-model="model.sndp.ownref" maxlength="40" placeholder="请输入20域编号"></c-input>
</c-form-item>
</c-col>
<!-- FD000012 : 21域编号 -->
<!-- LT000094 : : -->
<c-col :span="8">
<c-form-item label="21域编号" prop="sndp.othref">
<c-input v-model="model.sndp.othref" maxlength="40" placeholder="请输入21域编号"></c-input>
</c-form-item>
</c-col>
<!-- LT000260 : UETR -->
<!-- LT000261 : : -->
<c-col :span="8">
<c-form-item label="UETR" prop="sndp.uetr">
<c-input v-model="model.sndp.uetr" maxlength="40" placeholder="请输入UETR"></c-input>
</c-form-item>
</c-col>
<!-- FD000013 : 币种 -->
<!-- LT000095 : : -->
<c-col :span="8">
<el-form-item label="币种" prop="sndp.cur">
<c-select v-model="model.sndp.cur" style="width:100%" placeholder="请选择币种">
</c-select>
</el-form-item>
</c-col>
<!-- FD000014 : 帐号 -->
<!-- LT000096 : : -->
<c-col :span="8">
<c-form-item label="帐号" prop="sndp.act">
<c-input v-model="model.sndp.act" maxlength="40" placeholder="请输入账号"></c-input>
</c-form-item>
</c-col>
<!-- LT000296 : 信用证编号 -->
<!-- LT000297 : : -->
<c-col :span="8">
<c-form-item label="信用证编号" prop="sndp.lcnb">
<c-input v-model="model.sndp.lcnb" maxlength="35" placeholder="请输入信用证编号"></c-input>
</c-form-item>
</c-col>
<!-- LT000248 : 费用明细 -->
<!-- LT000249 : : -->
<c-col :span="8">
<el-form-item label="费用明细" prop="sndp.dtlchg">
<c-select v-model="model.sndp.dtlchg" style="width:100%" placeholder="请输入费用明细">
<el-option
v-for="item in codes.dtlchg"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</c-select>
</el-form-item>
</c-col>
<!-- FD000015 : 金额下限 -->
<!-- LT000097 : : -->
<c-col :span="8">
<c-form-item label="金额下限" prop="sndp.amtmin">
<c-input v-model="model.sndp.amtmin" placeholder="请输入金额下限"></c-input>
</c-form-item>
</c-col>
<!-- FD000016 : 金额上限 -->
<!-- LT000098 : : -->
<c-col :span="8">
<c-form-item label="金额上限" prop="sndp.amtmax">
<c-input v-model="model.sndp.amtmax" placeholder="请输入金额上限"></c-input>
</c-form-item>
</c-col>
<c-col :span="8">
<span v-text="model.sndp.starsp" data-path=".sndp.starsp" > </span>
</c-col>
<c-col :span="8">
<span v-text="model.sndp.starsm" data-path=".sndp.starsm" > </span>
</c-col>
<c-col :span="8">
<el-form-item label="行内系统" prop="sndp.chnipt">
<c-select v-model="model.sndp.chnipt" style="width:100%" placeholder="请选择行内系统">
<el-option
v-for="item in codes.chniptcod"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</c-select>
<el-form-item label="报文标准" prop="" style="width: 100%">
<c-select v-model="model.sndp.msgtyp" style="width: 100%" placeholder="请选择报文标准"
:code="codes.msgtyp"/>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="处理状态" prop="sndp.sta">
<c-select v-model="model.sndp.sta" style="width:100%" placeholder="请选择处理状态">
<el-option
v-for="item in codes.msgchksta"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</c-select>
<el-form-item label="报文类型" prop="" style="width: 100%">
<c-select v-model="model.sndp.subtyp" style="width: 100%" placeholder="请选择报文类型"
:code="codes.subtyp"/>
</el-form-item>
</c-col>
<c-col :span="8">
<span v-text="model.sndp.tblrsp" data-path=".sndp.tblrsp" > </span>
</c-col>
<c-col :span="8">
<span v-text="model.sndp.tblrsm" data-path=".sndp.tblrsm" > </span>
</c-col>
<c-col :span="8">
<el-form-item label="回执状态" prop="sndp.rspsta">
<c-select v-model="model.sndp.rspsta" style="width:100%" placeholder="请选择回执状态">
<el-option
v-for="item in codes.rspsta"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</c-select>
<el-form-item label="发报行BIC" prop="" style="width: 100%">
<c-input v-model="model.sndp.sndbak" style="width: 100%" placeholder="请输入发报行BIC"/>
</el-form-item>
</c-col>
<c-col :span="8">
<c-form-item label="操作员" prop="sndp.usrnam">
<c-input v-model="model.sndp.usrnam" maxlength="26" placeholder="请输入操作员"></c-input>
</c-form-item>
</c-col>
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle">
</el-row>
</template>
</c-list-search>
<!--查询-->
<c-col :span="12">
<c-button size="small" type="primary" @click="onSndpSchbtn">
查询
<el-col :span="24" style="margin-top: 2px;margin-bottom: 1px;">
<c-button :disabled="isFoldDisable" class="medium_bcs" size="medium" style="margin-left: 0"
type="primary">{{ $t('public.归档') }}
</c-button>
</c-col>
<!--清空-->
<c-col :span="12">
<c-button size="small" type="primary" @click="onSndpClrbtn">
清空
<c-button :disabled="isRoutingDisable" class="medium_bcs" size="medium"
style="margin-left: 20" type="primary">ReRouting
</c-button>
</c-col>
<!--新增-->
<c-col :span="12">
<c-button size="small" type="primary" @click="onSndpNewmsg">
新增
<c-button class="medium_bcs" size="medium" style="margin-left: 20" type="primary">
{{ $t('public.导出Excel') }}
</c-button>
</c-col>
<!--返回-->
</el-col>
<c-col :span="12">
<c-button size="small" type="primary" @click="onSndpRtn">
返回
</c-button>
<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 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'],
props:["model","codes"],
mixins: [commonProcess],
data(){
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeTab: 'fb',
load: false,
subtypCodes: [],
multipleSelection: [],
stmData: {
columns: [
{
label: "起息日",
prop: "valdat",
width: "180px"
},
{
label: "20域编号",
prop: "ownref",
width: "180px"
},
{
label: "21域名编号",
prop: "othref",
width: "120px"
},
{
label: "币种",
prop: "cur",
width: "120px"
},
{
label: "金额",
prop: "amt",
width: "120px"
},
{
label: "账号",
prop: "act",
width: "120px"
},
{
label: "费用明细",
prop: "dtlchg",
width: "120px"
},
{
label: "报文类型",
prop: "subtyp",
width: "120px"
},
{
label: "行内系统",
prop: "chnipt",
width: "120px"
},
{
label: "处理状态",
prop: "sta",
width: "120px"
},
{
label: "账户行BIC(53域)",
prop: "actbic",
width: "120px"
},
{
label: "账户行BIC(54域)",
prop: "actbic",
width: "250px"
},
{
label: "发报行BIC",
prop: "sndbic",
width: "150px"
},
{
label: "收报行BIC",
prop: "rcvbic",
width: "150px"
},
{
label: "报文标准",
prop: "msgtyp",
width: "150px"
},
{
label: "GPI标识",
prop: "gpi",
width: "150px"
},
{
label: "子系统",
prop: "",
width: "150px"
},
{
label: "处理时间",
prop: "sttdattim",
width: "150px"
},
],
data: [],
},
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
};
},
computed: {
isFoldDisable: function () {
return this.multipleSelection.length == 0;
},
isRoutingDisable: function () {
return this.multipleSelection.length == 0;
}
},
methods:{...Event},
created:function(){
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;
}
}
</script>
<style>
.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">
<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">
<!--sndp PD000216 报文复核查询主页 -->
<el-tab-pane :label="$t('sndp.PD000216')" name="msgpnl">
<m-msgpnl :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
<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-msgpnl :model="model" :codes="codes" ref="msgpnl"/>
</c-content>
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Msgsel from "../model"
import commonProcess from "~/mixin/commonProcess"
import Check from "../model/Check"
import Default from "../model/Default"
import Pattern from "../model/Pattern"
import Msgpnl from "./Msgpnl"
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Msgsel from "../model";
import event from "../event"
import Msgpnl from "./Msgpnl.vue"
export default {
export default {
name: "Msgsel",
components:{
"m-msgpnl" : Msgpnl,
},
provide() {
return {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "msgpnl",
trnName: "msgsel",
trnType: "",
model: new Msgsel().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
kpatyp:CodeTable.kpatyp,
cur:CodeTable.cur,
sdcflg:CodeTable.sdcflg,
gpicod:CodeTable.gpicod,
fmssta:CodeTable.fmssta,
clrsys:CodeTable.clrsys,
stacod:CodeTable.stacod,
bnksta:CodeTable.bnksta,
gpista:CodeTable.gpista,
kpadir:CodeTable.kpadir,
area:CodeTable.area,
cpsfxdtyp:CodeTable.cpsfxdtyp,
rspsta:CodeTable.rspsta,
sta:CodeTable.sta,
actsta:CodeTable.actsta,
offsta:CodeTable.offsta,
batcharge:CodeTable.batcharge,
msgmst:CodeTable.msgmst,
yosflg:CodeTable.yosflg,
filtyp:CodeTable.filtyp,
dircod:CodeTable.dircod,
kpstyp:CodeTable.kpstyp,
dcflg:CodeTable.dcflg,
msgtyp:CodeTable.msgtyp,
chncod:CodeTable.chncod,
msgsta:CodeTable.msgsta,
usratr:CodeTable.usratr,
msgchksta:CodeTable.msgchksta,
setmth:CodeTable.setmth,
chniptcod:CodeTable.chniptcod,
dtlchg:CodeTable.dtlchg,
codes:{...CodeTable},
};
},
}
},
methods:{
myTabClick(tab){
this.tabClick(tab)
/**
* do it yourself
**/
}
},
created:async function(){
console.log("进入msgsel交易");
let rtnmsg = {}; // await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
this.updateModel(rtnmsg.data)
//TODO 处理数据逻辑
methods:{},
created:async function() {},
};
</script>
<style scoped>
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
}
}
</script>
<style>
</style>
\ No newline at end of file
</style>
import Api from "~/service/Api";
import moment from "moment";
export default {
methods: {
async handleSearch() {
},
async handleReset() {
},
// 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;
}
},
};
<template>
<div class="eibs-tab">
<!-- <c-col :span="12">
<el-form-item :label="$t('msgp.LT000077')" prop="msgp.msgtyp">
<c-select v-model="model.msgp.msgtyp" style="width:100%"
:placeholder="$t('other.please_enter')+$t('msgp.LT000077')">
</c-select>
<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.msgp.typ" style="width: 100%" placeholder="请选择报文标准" :code="codes.typ"/>
</el-form-item>
</c-col>
<c-col :span="12">
<c-checkbox v-model="model.msgp.isbnk">{{ $t('msgp.FD000178') }}</c-checkbox>
</c-col>
<c-col :span="12">
<c-form-item :label="$t('msgp.LT000078')" prop="msgp.rcvbnk.pty.extkey">
<c-input v-model="model.msgp.rcvbnk.pty.extkey" maxlength="24"
:placeholder="$t('other.please_enter')+$t('msgp.LT000078')"></c-input>
</c-form-item>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" icon="el-icon-search" @click="onRcvbnkSel">
{{ $t('msgp.BT000079') }}
</c-button>
</c-col>-->
<!-- LT000092 : 报文标准: -->
<c-col :span="12">
<el-form-item label="报文标准" prop="msgp.typ">
<c-select v-model="model.msgp.typ" style="width:100%"
placeholder="请选择报文标准(mt/iso/cips/fxps)">
</c-select>
</el-form-item>
</c-col>
<!-- LT000077 : 报文类型: -->
<!-- LT000078 : 收报行: -->
<!--
<c-col :span="12">
<span v-text="model.msgp.msginfo" data-path=".msgp.msginfo"> </span>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" @click="onMsgpNxtstp">
{{ $t('msgp.BT000087') }}
</c-button>
</c-col>
-->
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle">
</el-row>
</template>
</c-list-search>
</div>
</template>
<script>
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'],
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess],
mixins: [event],
data() {
return {}
return {
activeTab: 'fb',
load: false,
subtypCodes: [],
multipleSelection: [],
stmData: {
columns: [],
data: [],
},
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
methods: {...Event},
created: function () {
};
},
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;
}
}
</script>
<style>
.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">
<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">
<!--msgp PD000088 报文编辑步骤主面板 -->
<el-tab-pane :label="$t('msgp.PD000088')" name="stpp">
<m-stpp :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
<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-inqpnl :model="model" :codes="codes" ref="inqpnl"/>
</c-content>
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Msgstp from "../model"
import commonProcess from "~/mixin/commonProcess"
import Check from "../model/Check"
import Default from "../model/Default"
import Pattern from "../model/Pattern"
import Stpp from "./Stpp"
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Qrtsel from "../model";
import event from "../event"
import Inqpnl from "./Stpp.vue"
export default {
name: "Msgstp",
export default {
name: "Qrtsel",
components:{
"m-stpp" : Stpp,
"m-inqpnl" : Inqpnl,
},
provide() {
return {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "stpp",
trnName: "msgstp",
trnType: "",
model: new Msgstp().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
tabVal: "inqpnl",
trnName: "qrtsel",
model: new Qrtsel().data,
rules: null,
codes: {
kpatyp:CodeTable.kpatyp,
cur:CodeTable.cur,
sdcflg:CodeTable.sdcflg,
gpicod:CodeTable.gpicod,
fmssta:CodeTable.fmssta,
clrsys:CodeTable.clrsys,
stacod:CodeTable.stacod,
bnksta:CodeTable.bnksta,
gpista:CodeTable.gpista,
kpadir:CodeTable.kpadir,
area:CodeTable.area,
cpsfxdtyp:CodeTable.cpsfxdtyp,
rspsta:CodeTable.rspsta,
sta:CodeTable.sta,
actsta:CodeTable.actsta,
offsta:CodeTable.offsta,
batcharge:CodeTable.batcharge,
msgmst:CodeTable.msgmst,
yosflg:CodeTable.yosflg,
filtyp:CodeTable.filtyp,
dircod:CodeTable.dircod,
kpstyp:CodeTable.kpstyp,
dcflg:CodeTable.dcflg,
msgtyp:CodeTable.msgtyp,
chncod:CodeTable.chncod,
msgsta:CodeTable.msgsta,
usratr:CodeTable.usratr,
msgchksta:CodeTable.msgchksta,
setmth:CodeTable.setmth,
chniptcod:CodeTable.chniptcod,
dtlchg:CodeTable.dtlchg,
codes:{...CodeTable},
};
},
}
},
methods:{
myTabClick(tab){
this.tabClick(tab)
/**
* do it yourself
**/
}
},
created:async function(){
console.log("进入msgstp交易");
let rtnmsg = {}; // await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
this.updateModel(rtnmsg.data)
//TODO 处理数据逻辑
methods:{},
created:async function() {},
};
</script>
<style scoped>
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
}
}
</script>
<style>
</style>
\ No newline at end of file
</style>
import Utils from "~/utils";
export default {
methods: {
buildPtspta(ptsptaObj) {
let pts = ptsptaObj.pts;
return {
rol: pts.rol,
name: pts.nam,
ptyinr: pts.ptyinr,
ptainr: pts.ptainr,
extkey: pts.extkey,
dftdsp: pts.dftdsp,
dftcur: pts.dftcur,
dftact: pts.dftact,
dftfeecur: pts.dftfeecur,
dftactptainr: pts.dftactptainr,
glggrpflg: pts.glggrpflg,
adrblk: pts.adrblk,
pts,
};
},
buildCommonData(model, trnName) {
let ptsptaList = Utils.formatPtspta(model.oftp, this.buildPtspta);
return {
rec: {
objtyp: "PFT",
},
ptsList: ptsptaList,
transName: trnName,
userId: window.sessionStorage.userId ? window.sessionStorage.userId : "ZL",
};
},
},
};
import commonFunctions from '~/mixin/commonFunctions.js';
import Api from '~/service/Api';
import Api from "~/service/Api";
import moment from "moment";
export default {
mixins: [commonFunctions],
methods: {
async getOwnref() {
}
async handleSearch() {
},
async handleReset() {
},
// 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;
}
}
\ 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">
<div class="e-table-wrapper">
<el-table :data="model.oftgrp.dotrel.lst" style="width: 100%">
<el-table-column prop="mty" label="报文种类" sortable width="120">
</el-table-column>
<el-table-column prop="rsptim" label="收发时间" sortable width="120">
</el-table-column>
<el-table-column prop="sweflg" label="G渠道" sortable width="120">
</el-table-column>
<el-table-column prop="typ" label="记账类型" sortable width="120">
<template slot-scope="scope">
<span>{{ this.codes.kpatyp.find(item => item.value == scope.row.typ).label }}</span>
</template>
</el-table-column>
<el-table-column prop="dcflg" label="收支" sortable width="120">
<template slot-scope="scope">
<span>{{ this.codes.dcflg.find(item => item.value == scope.row.dcflg).label }}</span>
</template>
</el-table-column>
<el-table-column prop="amt" label="金额" sortable width="140">
</el-table-column>
<el-table-column prop="cur" label="币种" sortable width="120">
</el-table-column>
<el-table-column prop="sta" label="关联状态" sortable width="100">
<template slot-scope="scope">
<span>{{ this.codes.sta.find(item => item.value == scope.row.sta).label }}</span>
</template>
</el-table-column>
<el-table-column prop="area" label="处理状态" sortable width="100">
<template slot-scope="scope">
<span>{{ this.codes.allmsgcod.find(item => item.value == scope.row.area).label }}</span>
</template>
</el-table-column>
<el-table-column prop="valdat" label="起息日" sortable width="150">
</el-table-column>
<el-table-column prop="ownref" label="20域编号" sortable width="125">
</el-table-column>
<el-table-column prop="othref" label="21域编号" sortable width="125">
</el-table-column>
<el-table-column prop="multimsg" label="目标渠道" sortable width="100">
<template slot-scope="scope">
<span>{{ this.codes.chncod.find(item => item.value == scope.row.multimsg).label }}</span>
</template>
</el-table-column>
<el-table-column prop="chk" label="源渠道" sortable width="100">
<template slot-scope="scope">
<span>{{ this.codes.chncod.find(item => item.value == scope.row.chk).label }}</span>
</template>
</el-table-column>
<el-table-column prop="kpatyp" label="下一渠道" sortable width="100">
<template slot-scope="scope">
<span>{{ this.codes.chncod.find(item => item.value == scope.row.kpatyp).label }}</span>
</template>
</el-table-column>
<el-table-column prop="sedbak" label="发报行BIC" sortable width="100">
</el-table-column>
<el-table-column prop="revbak" label="收报行BIC" sortable width="100">
</el-table-column>
<el-table-column prop="actbic" label="账户行BIC" sortable width="100">
</el-table-column>
<el-table-column prop="offsta" label="勾销标识" sortable width="120">
<template slot-scope="scope">
<span>{{ this.codes.offsta.find(item => item.value == scope.row.offsta).label }}</span>
</template>
</el-table-column>
<el-table-column prop="lstdat" label="最后处理时间" sortable width="200">
</el-table-column>
</el-table>
<el-pagination layout="prev, pager, next" :total="1">
</el-pagination>
</div>
</c-col>
<!-- LT000121 : 起始日期 -->
<c-col :span="12">
<el-form-item :label="$t('dotrep.起始日期')" prop="oftp.rel.rsptims">
<c-date-picker type="date" v-model="model.oftp.rel.rsptims" style="width:100%"></c-date-picker>
<c-col :span="8">
<el-form-item label="报文标准" prop="" style="width: 100%">
<c-select v-model="model.oftp.rel.msgtyp" style="width: 100%" placeholder="请选择报文标准"
:code="codes.msgtyp" />
</el-form-item>
</c-col>
<!-- LT000226 : : -->
<!-- LT000122 : 截止日期 -->
<!-- LT000231 : : -->
<c-col :span="12">
<el-form-item :label="$t('dotrep.截止日期')" prop="oftp.rel.rsptime">
<c-date-picker type="date" v-model="model.oftp.rel.rsptime" style="width:100%"></c-date-picker>
</el-form-item>
</c-col>
<!-- LT000225 : 报文标准 -->
<!-- LT000232 : : -->
<c-col :span="12">
<el-form-item :label="$t('dotrep.报文标准')" prop="oftp.rel.msgtyp">
<c-select v-model="model.oftp.rel.msgtyp" style="width:100%">
</c-select>
<c-col :span="8">
<el-form-item label="报文类型" prop="" style="width: 100%">
<c-select v-model="model.oftp.rel.mty" style="width: 100%" placeholder="请选择报文类型" :code="codes.mty" />
</el-form-item>
</c-col>
<!-- LT000120 : 报文类型 -->
<c-col :span="12">
<el-form-item :label="$t('dotrep.报文类型')" prop="oftp.rel.mty">
<c-select v-model="model.oftp.rel.mty" style="width:100%">
</c-select>
<c-col :span="8">
<el-form-item label="发报行BIC" prop="" style="width: 100%">
<c-input v-model="model.oftp.rel.sedbak" style="width: 100%" placeholder="请输入发报行BIC" />
</el-form-item>
</c-col>
<!-- LT000233 : : -->
<!-- LT000124 : 发报行BIC -->
<c-col :span="12">
<c-form-item :label="$t('dotrep.发报行BIC')" prop="oftp.rel.sedbak">
<c-input v-model="model.oftp.rel.sedbak" maxlength="11"></c-input>
</c-form-item>
</c-col>
<!-- LT000234 : : -->
<!-- LT000123 : 收报行BIC -->
<!-- LT000235 : : -->
<c-col :span="12">
<c-form-item :label="$t('dotrep.收报行BIC')" prop="oftp.rel.revbak">
<c-input v-model="model.oftp.rel.revbak" maxlength="11"></c-input>
</c-form-item>
</c-col>
<!-- LT000125 : 账户行BIC -->
<c-col :span="12">
<c-form-item :label="$t('dotrep.账户行BIC')" prop="oftp.rel.actbic">
<c-input v-model="model.oftp.rel.actbic" maxlength="11"></c-input>
</c-form-item>
</c-col>
<!-- LT000227 : : -->
<!-- LT000044 : 借 贷 -->
<c-col :span="12">
<el-form-item :label="$t('dotrep.借贷')" prop="oftp.rel.dcflg">
<c-select v-model="model.oftp.rel.dcflg" style="width:100%">
<el-option v-for="item in codes.dcflg" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</c-select>
</el-form-item>
</c-col>
<!-- LT000228 : : -->
<!-- LT000223 : 币 种 -->
<!-- LT000229 : : -->
<c-col :span="12">
<el-form-item :label="$t('dotrep.币种')" prop="oftp.rel.cur">
<c-select v-model="model.oftp.rel.cur" style="width:100%">
</c-select>
</el-form-item>
</c-col>
<!-- LT000056 : 金额下限 -->
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle">
</el-row>
</template>
</c-list-search>
<c-col :span="12">
<c-form-item :label="$t('dotrep.金额下限')" prop="oftp.rel.amtd">
<c-input v-model="model.oftp.rel.amtd"></c-input>
</c-form-item>
</c-col>
<!-- LT000230 : : -->
<!-- LT000055 : 金额上限 -->
<el-col :span="24" style="margin-top: 2px;margin-bottom: 1px;">
<c-button :disabled="isFoldDisable" class="medium_bcs" size="medium" style="margin-left: 0" type="primary">{{
$t('public.归档') }}
</c-button>
<c-button :disabled="isRoutingDisable" class="medium_bcs" size="medium" style="margin-left: 20"
type="primary">ReRouting
</c-button>
<c-button class="medium_bcs" size="medium" style="margin-left: 20" type="primary">
{{ $t('public.导出Excel') }}
</c-button>
</el-col>
<c-col :span="12">
<c-form-item :label="$t('dotrep.金额上限')" prop="oftp.rel.amtu">
<c-input v-model="model.oftp.rel.amtu"></c-input>
</c-form-item>
</c-col>
<!-- LT000236 : : -->
<!-- LT000007 : 20域编号 -->
<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>
<c-col :span="12">
<c-form-item :label="$t('dotrep.20域编号')" prop="oftp.rel.ref">
<c-input v-model="model.oftp.rel.ref" maxlength="20"></c-input>
</c-form-item>
</c-col>
<!-- LT000237 : : -->
<!-- LT000027 : 21域编号 -->
<!-- LT000238 : : -->
<c-col :span="12">
<c-form-item :label="$t('dotrep.21域编号')" prop="oftp.rel.relref">
<c-input v-model="model.oftp.rel.relref" maxlength="20"></c-input>
</c-form-item>
<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 Api from "~/service/Api"
import Event from "../event"
import event from "../event";
export default {
inject: ['root'],
inject: ["root"],
props: ["model", "codes"],
mixins: [],
mixins: [event],
data() {
return {
activeTab: 'fb',
load: false,
subtypCodes: [],
multipleSelection: [],
stmData: {
columns: [
{
label: "报文种类",
prop: "num",
width: "120px"
},
{
label: "收发时间",
prop: "num",
width: "120px"
},
{
label: "G渠道",
prop: "num",
width: "120px"
},
{
label: "记账类型",
prop: "num",
width: "120px"
},
{
label: "收支",
prop: "num",
width: "120px"
},
{
label: "金额",
prop: "num",
width: "120px"
},
{
label: "20域编号",
prop: "ownref",
width: "120px"
},
{
label: "21域编号",
prop: "othref",
width: "120px"
},
{
label: "目标渠道",
prop: "num",
width: "120px"
},
{
label: "源渠道",
prop: "num",
width: "120px"
},
{
label: "发报行BIC",
prop: "num",
width: "120px"
},
{
label: "收报行BIC",
prop: "num",
width: "120px"
},
{
label: "账户行BIC",
prop: "num",
width: "120px"
},
{
label: "勾销标识",
prop: "num",
width: "120px"
},
{
label: "最后处理时间",
prop: "num",
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: { ...Event },
created: function () {
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;
}
}
</script>
<style></style>
.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">
<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">
<!--oftp PD000700 人工关联页面oftopn -->
<el-tab-pane :label="$t('oftp.人工关联页面')" name="oftp13">
<m-oftp13 :model="model" :codes="codes" />
</el-tab-pane>
</c-tabs>
<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-oftp13 :model="model" :codes="codes" ref="oftp13"/>
</c-content>
</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 Oftopn from "../model"
import Check from "../model/Check"
import Oftp13 from "./Oftp13"
import operationFunc from "~/mixin/operationFunc";
import commonDepend from "~/mixin/commonDepend";
import event from "../event";
import buildFn from "../event/buildCommons.js";
import CodeTable from "~/config/CodeTable";
import Oftopn from "../model";
import event from "../event"
import Oftp13 from "./Oftp13.vue"
export default {
name: "Oftopn",
components: {
"m-oftp13": Oftp13,
components:{
"m-oftp13" : Oftp13,
},
provide() {
return {
root: this
}
},
mixins: [operationFunc, commonDepend, event, buildFn],
data() {
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "oftp13",
trnName: "oftopn",
trnType: "",
model: new Oftopn().data,
rules: Check,
codes: {
kpatyp: CodeTable.kpatyp,
cur: CodeTable.cur,
sdcflg: CodeTable.sdcflg,
gpicod: CodeTable.gpicod,
offtyp: CodeTable.offtyp,
fmssta: CodeTable.fmssta,
clrsys: CodeTable.clrsys,
stacod: CodeTable.stacod,
dottyp: CodeTable.dottyp,
recsta: CodeTable.recsta,
bnksta: CodeTable.bnksta,
gpista: CodeTable.gpista,
kpadir: CodeTable.kpadir,
area: CodeTable.area,
cpsfxdtyp: CodeTable.cpsfxdtyp,
rspsta: CodeTable.rspsta,
sta: CodeTable.sta,
actsta: CodeTable.actsta,
offsta: CodeTable.offsta,
batcharge: CodeTable.batcharge,
msgmst: CodeTable.msgmst,
yosflg: CodeTable.yosflg,
filtyp: CodeTable.filtyp,
dircod: CodeTable.dircod,
kpstyp: CodeTable.kpstyp,
allmsgcod: CodeTable.allmsgcod,
dcflg: CodeTable.dcflg,
msgtyp: CodeTable.msgtyp,
chncod: CodeTable.chncod,
msgsta: CodeTable.msgsta,
usratr: CodeTable.usratr,
msgchksta: CodeTable.msgchksta,
setmth: CodeTable.setmth,
chniptcod: CodeTable.chniptcod,
dtlchg: CodeTable.dtlchg,
},
}
},
methods: {
myTabClick(tab) {
this.tabClick(tab)
}
},
created: async function () {
console.log("进入oftopn交易");
let params = {
transName: this.trnName,
fxdgrp: {
rec: {
inr: this.$route.query.inr || "",
},
},
rules: null,
codes:{...CodeTable},
};
this.init(params)
}
}
},
methods:{},
created:async function() {},
};
</script>
<style></style>
<style scoped>
</style>
import Utils from "~/utils";
export default {
methods: {
buildPtspta(ptsptaObj) {
let pts = ptsptaObj.pts;
return {
rol: pts.rol,
name: pts.nam,
ptyinr: pts.ptyinr,
ptainr: pts.ptainr,
extkey: pts.extkey,
dftdsp: pts.dftdsp,
dftcur: pts.dftcur,
dftact: pts.dftact,
dftfeecur: pts.dftfeecur,
dftactptainr: pts.dftactptainr,
glggrpflg: pts.glggrpflg,
adrblk: pts.adrblk,
pts,
};
},
buildCommonData(model, trnName) {
let ptsptaList = Utils.formatPtspta(model.oftp, this.buildPtspta);
return {
rec: {
objtyp: "PFT",
},
ptsList: ptsptaList,
transName: trnName,
userId: window.sessionStorage.userId ? window.sessionStorage.userId : "ZL",
};
},
},
};
import commonFunctions from '~/mixin/commonFunctions.js';
import Api from '~/service/Api';
import Api from "~/service/Api";
import moment from "moment";
export default {
mixins: [commonFunctions],
methods: {
async getOwnref() {
}
async handleSearch() {
},
async handleReset() {
},
// 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;
}
}
\ 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">
<div class="e-table-wrapper">
<el-table :data="model.oftgrp.dotrel.lst" style="width: 100%">
<el-table-column prop="mty" label="报文种类" sortable width="120">
</el-table-column>
<el-table-column prop="rsptim" label="收发时间" sortable width="120">
</el-table-column>
<el-table-column prop="sweflg" label="G渠道" sortable width="120">
</el-table-column>
<el-table-column prop="typ" label="记账类型" sortable width="120">
<template slot-scope="scope">
<span>{{ this.codes.kpatyp.find(item => item.value == scope.row.typ).label }}</span>
</template>
</el-table-column>
<el-table-column prop="dcflg" label="收支" sortable width="120">
<template slot-scope="scope">
<span>{{ this.codes.dcflg.find(item => item.value == scope.row.dcflg).label }}</span>
</template>
</el-table-column>
<el-table-column prop="amt" label="金额" sortable width="140">
</el-table-column>
<el-table-column prop="cur" label="币种" sortable width="100">
</el-table-column>
<el-table-column prop="sta" label="关联状态" sortable width="100">
<template slot-scope="scope">
<span>{{ this.codes.sta.find(item => item.value == scope.row.sta).label }}</span>
</template>
</el-table-column>
<el-table-column prop="area" label="处理状态" sortable width="100">
<template slot-scope="scope">
<span>{{ this.codes.allmsgcod.find(item => item.value == scope.row.area).label }}</span>
</template>
</el-table-column>
<el-table-column prop="valdat" label="起息日" sortable width="150">
</el-table-column>
<el-table-column prop="ownref" label="20域编号" sortable width="125">
</el-table-column>
<el-table-column prop="othref" label="21域编号" sortable width="125">
</el-table-column>
<el-table-column prop="multimsg" label="目标渠道" sortable width="100">
<template slot-scope="scope">
<span>{{ this.codes.chncod.find(item => item.value == scope.row.multimsg).label }}</span>
</template>
</el-table-column>
<el-table-column prop="chk" label="源渠道" sortable width="100">
<template slot-scope="scope">
<span>{{ this.codes.chncod.find(item => item.value == scope.row.chk).label }}</span>
</template>
</el-table-column>
<el-table-column prop="kpatyp" label="下一渠道" sortable width="100">
<template slot-scope="scope">
<span>{{ this.codes.chncod.find(item => item.value == scope.row.kpatyp).label }}</span>
</template>
</el-table-column>
<el-table-column prop="sedbak" label="发报行BIC" sortable width="100">
</el-table-column>
<el-table-column prop="revbak" label="收报行BIC" sortable width="100">
</el-table-column>
<el-table-column prop="actbic" label="账户行BIC" sortable width="100">
</el-table-column>
<el-table-column prop="offsta" label="勾销标识" sortable width="80">
<template slot-scope="scope">
<span>{{ this.codes.offsta.find(item => item.value == scope.row.offsta).label }}</span>
</template>
</el-table-column>
<el-table-column prop="lstdat" label="最后处理时间" sortable width="200">
</el-table-column>
</el-table>
<el-pagination layout="prev, pager, next" :total="1">
</el-pagination>
</div>
</c-col>
<!-- LT000121 : 起始日期 -->
<c-col :span="12">
<el-form-item :label="$t('dotrep.起始日期')" prop="oftp.rel.rsptims">
<c-date-picker type="date" v-model="model.oftp.rel.rsptims" style="width:100%"></c-date-picker>
</el-form-item>
</c-col>
<!-- LT000226 : : -->
<!-- LT000122 : 截止日期 -->
<!-- LT000231 : : -->
<c-col :span="12">
<el-form-item :label="$t('dotrep.截止日期')" prop="oftp.rel.rsptime">
<c-date-picker type="date" v-model="model.oftp.rel.rsptime" style="width:100%"></c-date-picker>
<c-col :span="8">
<el-form-item label="报文标准" prop="" style="width: 100%">
<c-select v-model="model.oftp.rel.msgtyp" style="width: 100%" placeholder="请选择报文标准" :code="codes.msgtyp"/>
</el-form-item>
</c-col>
<!-- LT000225 : 报文标准 -->
<!-- LT000232 : : -->
<c-col :span="12">
<el-form-item :label="$t('dotrep.报文标准')" prop="oftp.rel.msgtyp">
<c-select v-model="model.oftp.rel.msgtyp" style="width:100%">
</c-select>
</c-col>
<c-col :span="8">
<el-form-item label="报文类型" prop="" style="width: 100%">
<c-select v-model="model.oftp.rel.mty" style="width: 100%" placeholder="请选择报文类型" :code="codes.mty"/>
</el-form-item>
</c-col>
<!-- LT000120 : 报文类型 -->
<c-col :span="12">
<el-form-item :label="$t('dotrep.报文类型')" prop="oftp.rel.mty">
<c-select v-model="model.oftp.rel.mty" style="width:100%">
</c-select>
</c-col>
<c-col :span="8">
<el-form-item label="发报行BIC" prop="" style="width: 100%">
<c-input v-model="model.oftp.rel.sedbak" style="width: 100%" placeholder="请输入发报行BIC"/>
</el-form-item>
</c-col>
<!-- LT000233 : : -->
<!-- LT000124 : 发报行BIC -->
</c-col>
<c-col :span="12">
<c-form-item :label="$t('dotrep.发报行BIC')" prop="oftp.rel.sedbak">
<c-input v-model="model.oftp.rel.sedbak" maxlength="11"></c-input>
</c-form-item>
</c-col>
<!-- LT000234 : : -->
<!-- LT000123 : 收报行BIC -->
<!-- LT000235 : : -->
<c-col :span="12">
<c-form-item :label="$t('dotrep.收报行BIC')" prop="oftp.rel.revbak">
<c-input v-model="model.oftp.rel.revbak" maxlength="11"></c-input>
</c-form-item>
</c-col>
<!-- LT000125 : 账户行BIC -->
<c-col :span="12">
<c-form-item :label="$t('dotrep.账户行BIC')" prop="oftp.rel.actbic">
<c-input v-model="model.oftp.rel.actbic" maxlength="11"></c-input>
</c-form-item>
</c-col>
<!-- LT000227 : : -->
<!-- LT000044 : 借 贷 -->
<c-col :span="12">
<el-form-item :label="$t('dotrep.借贷')" prop="oftp.rel.dcflg">
<c-select v-model="model.oftp.rel.dcflg" style="width:100%">
<el-option v-for="item in codes.dcflg" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</c-select>
</el-form-item>
</c-col>
<!-- LT000228 : : -->
<!-- LT000223 : 币 种 -->
<!-- LT000229 : : -->
<c-col :span="12">
<el-form-item :label="$t('dotrep.币种')" prop="oftp.rel.cur">
<c-select v-model="model.oftp.rel.cur" style="width:100%">
</c-select>
</el-form-item>
</c-col>
<!-- LT000056 : 金额下限 -->
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle">
</el-row>
</template>
</c-list-search>
<c-col :span="12">
<c-form-item :label="$t('dotrep.金额下限')" prop="oftp.rel.amtd">
<c-input v-model="model.oftp.rel.amtd"></c-input>
</c-form-item>
</c-col>
<!-- LT000230 : : -->
<!-- LT000055 : 金额上限 -->
<el-col :span="24" style="margin-top: 2px;margin-bottom: 1px;">
<c-button :disabled="isFoldDisable" class="medium_bcs" size="medium" style="margin-left: 0"
type="primary" >{{ $t('public.归档') }}
</c-button>
<c-button :disabled="isRoutingDisable" class="medium_bcs" size="medium"
style="margin-left: 20" type="primary">ReRouting
</c-button>
<c-button class="medium_bcs" size="medium" style="margin-left: 20" type="primary">
{{ $t('public.导出Excel') }}
</c-button>
</el-col>
<c-col :span="12">
<c-form-item :label="$t('dotrep.金额上限')" prop="oftp.rel.amtu">
<c-input v-model="model.oftp.rel.amtu"></c-input>
</c-form-item>
</c-col>
<!-- LT000236 : : -->
<!-- LT000007 : 20域编号 -->
<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>
<c-col :span="12">
<c-form-item :label="$t('dotrep.20域编号')" prop="oftp.rel.ref">
<c-input v-model="model.oftp.rel.ref" maxlength="20"></c-input>
</c-form-item>
</c-col>
<!-- LT000237 : : -->
<!-- LT000027 : 21域编号 -->
<!-- LT000238 : : -->
<c-col :span="12">
<c-form-item :label="$t('dotrep.21域编号')" prop="oftp.rel.relref">
<c-input v-model="model.oftp.rel.relref" maxlength="20"></c-input>
</c-form-item>
<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 Api from "~/service/Api"
import Event from "../event"
import event from "../event";
export default {
inject: ['root'],
inject: ["root"],
props: ["model", "codes"],
mixins: [],
mixins: [event],
data() {
return {
activeTab: 'fb',
load: false,
subtypCodes: [],
multipleSelection:[],
stmData: {
columns: [
{
label: "报文种类",
prop: "num",
width: "120px"
},
{
label: "收发时间",
prop: "num",
width: "120px"
},
{
label: "G渠道",
prop: "num",
width: "120px"
},
{
label: "记账类型",
prop: "num",
width: "120px"
},
{
label: "收支",
prop: "num",
width: "120px"
},
{
label: "金额",
prop: "num",
width: "120px"
},
{
label: "20域编号",
prop: "ownref",
width: "120px"
},
{
label: "21域编号",
prop: "othref",
width: "120px"
},
{
label: "目标渠道",
prop: "num",
width: "120px"
},
{
label: "源渠道",
prop: "num",
width: "120px"
},
{
label: "发报行BIC",
prop: "num",
width: "120px"
},
{
label: "收报行BIC",
prop: "num",
width: "120px"
},
{
label: "账户行BIC",
prop: "num",
width: "120px"
},
{
label: "勾销标识",
prop: "num",
width: "120px"
},
{
label: "最后处理时间",
prop: "num",
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: { ...Event },
created: function () {
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;
}
}
</script>
<style></style>
.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">
<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">
<!--oftp PD001804 已关联报文查询面板 -->
<el-tab-pane :label="$t('oftp.已关联报文查询面板')" name="oftp01">
<m-oftp01 :model="model" :codes="codes" />
</el-tab-pane>
</c-tabs>
<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-oftp01 :model="model" :codes="codes" ref="oftp01"/>
</c-content>
</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 Oftsel from "../model"
import Check from "../model/Check"
import Oftp01 from "./Oftp01"
import operationFunc from "~/mixin/operationFunc";
import commonDepend from "~/mixin/commonDepend";
import event from "../event";
import buildFn from "../event/buildCommons.js";
import CodeTable from "~/config/CodeTable";
import Oftsel from "../model";
import event from "../event"
import Oftp01 from "./Oftp01.vue"
export default {
name: "Oftsel",
components: {
"m-oftp01": Oftp01,
components:{
"m-oftp01" : Oftp01,
},
provide() {
return {
root: this
}
},
mixins: [operationFunc, commonDepend, event, buildFn],
data() {
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "oftp01",
trnName: "oftsel",
trnType: "",
model: new Oftsel().data,
rules: Check,
codes: {
kpatyp: CodeTable.kpatyp,
cur: CodeTable.cur,
sdcflg: CodeTable.sdcflg,
gpicod: CodeTable.gpicod,
offtyp: CodeTable.offtyp,
fmssta: CodeTable.fmssta,
clrsys: CodeTable.clrsys,
stacod: CodeTable.stacod,
dottyp: CodeTable.dottyp,
recsta: CodeTable.recsta,
bnksta: CodeTable.bnksta,
gpista: CodeTable.gpista,
kpadir: CodeTable.kpadir,
area: CodeTable.area,
cpsfxdtyp: CodeTable.cpsfxdtyp,
rspsta: CodeTable.rspsta,
sta: CodeTable.sta,
actsta: CodeTable.actsta,
offsta: CodeTable.offsta,
batcharge: CodeTable.batcharge,
msgmst: CodeTable.msgmst,
yosflg: CodeTable.yosflg,
filtyp: CodeTable.filtyp,
dircod: CodeTable.dircod,
kpstyp: CodeTable.kpstyp,
allmsgcod: CodeTable.allmsgcod,
dcflg: CodeTable.dcflg,
msgtyp: CodeTable.msgtyp,
chncod: CodeTable.chncod,
msgsta: CodeTable.msgsta,
usratr: CodeTable.usratr,
msgchksta: CodeTable.msgchksta,
setmth: CodeTable.setmth,
chniptcod: CodeTable.chniptcod,
dtlchg: CodeTable.dtlchg,
},
}
},
methods: {
myTabClick(tab) {
this.tabClick(tab)
}
},
created: async function () {
console.log("进入oftsel交易");
let params = {
transName: this.trnName,
fxdgrp: {
rec: {
inr: this.$route.query.inr || "",
},
},
rules: null,
codes:{...CodeTable},
};
this.init(params)
}
}
},
methods:{},
created:async function() {},
};
</script>
<style></style>
<style scoped>
</style>
import Api from "~/service/Api";
import moment from "moment";
export default {
methods: {
async handleSearch() {
},
async handleReset() {
},
// 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;
}
},
};
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<!-- 持续展示区 -->
<template v-slot="searchSlot">
<el-row>
<c-col :span="24">
<div class="e-table-wrapper">
<el-table
:data="model.qrtp.qrdlst"
style="width: 100%"
>
<el-table-column
prop="amdtim"
label="更新时间"
sortable
width="160">
</el-table-column>
<el-table-column
prop="casnum"
label="CASE编号"
sortable
width="130">
</el-table-column>
<el-table-column
prop="drfnum"
label="汇票号码"
sortable
width="145">
</el-table-column>
<el-table-column
prop="sweflg"
label="G渠道"
sortable
width="60">
</el-table-column>
<el-table-column
prop="ownt20"
label="20域编号(发)"
sortable
width="125">
</el-table-column>
<el-table-column
prop="otht20"
label="20域编号(收)"
sortable
width="125">
</el-table-column>
<el-table-column
prop="sedbak"
label="发报行BIC"
sortable
width="100">
</el-table-column>
<el-table-column
prop="revbak"
label="收报行BIC"
sortable
width="100">
</el-table-column>
<el-table-column
prop="t53bic"
label="账户行BIC(53域)"
sortable
width="120">
</el-table-column>
<el-table-column
prop="t54bic"
label="账户行BIC(54域)"
sortable
width="120">
</el-table-column>
<el-table-column
prop="lstopr"
label="经办"
sortable
width="100">
</el-table-column>
<el-table-column
prop="des"
label="备注"
sortable
width="200">
</el-table-column>
<el-table-column
prop="neadeltim"
label="处理时间"
sortable
width="90">
</el-table-column>
<el-table-column
prop="settim"
label="创建时间"
sortable
width="90">
</el-table-column>
<el-table-column
prop="cassta"
label="状态"
sortable
width="80">
<template slot-scope="scope">
<span>{{ this.codes.cassta.find(item=>item.value==scope.row.cassta).label }}</span>
</template>
</el-table-column>
<el-table-column
prop="uetr"
label="UETR"
sortable
width="270">
</el-table-column>
</el-table>
<el-pagination
layout="prev, pager, next"
:total="1">
</el-pagination>
</div>
</c-col>
<c-col :span="8">
<el-form-item label="起始时间" prop="qrtp.settimsta">
<c-date-picker type="date" v-model="model.qrtp.settimsta" style="width:100%" placeholder="请选择起始时间"></c-date-picker>
<el-form-item label="CASE状态" prop="" style="width: 100%">
<c-select v-model="model.qrtp.cassta" style="width: 100%" placeholder="请选择CASE状态"
:code="codes.cassta"/>
</el-form-item>
</c-col>
<!-- LT000023 : 起始时间 -->
<!-- LT000326 : 记录类型 -->
<c-col :span="8">
<el-form-item label="截至日期" prop="qrtp.settimend">
<c-date-picker type="date" v-model="model.qrtp.settimend" style="width:100%" placeholder="请输入截至日期"></c-date-picker>
<el-form-item label="报文类型" prop="" style="width: 100%">
<c-select v-model="model.qrdgrp.rec.msgtyp" style="width: 100%" placeholder="请选择报文类型"
:code="codes.msgtyp"/>
</el-form-item>
</c-col>
<!-- LT000024 : 截止时间 -->
<!-- LT000328 : : -->
<!-- LT002442 : 报文类型 -->
<!-- LT002443 : : -->
<c-col :span="8">
<el-form-item label="报文类型" prop="qrdgrp.rec.msgtyp">
<c-select v-model="model.qrdgrp.rec.msgtyp" style="width:100%" placeholder="请选择报文类型">
</c-select>
<el-form-item label="CASE编号" prop="" style="width: 100%">
<c-input v-model="model.qrtp.casnum" style="width: 100%" placeholder="请输入CASE编号"/>
</el-form-item>
</c-col>
<!-- LT000019 : CASE状态 -->
<!-- LT000329 : : -->
<c-col :span="12">
<el-form-item label="CASE状态" prop="qrtp.cassta">
<c-select v-model="model.qrtp.cassta" style="width:100%" placeholder="请选择CASE状态">
<el-option
v-for="item in codes.cassta"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</c-select>
</el-form-item>
</c-col>
<!-- LT000020 : CASE编号 -->
<!-- LT000330 : : -->
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle">
</el-row>
</template>
</c-list-search>
<c-col :span="12">
<c-form-item label="CASE编号" prop="qrtp.casnum">
<c-input v-model="model.qrtp.casnum" maxlength="16" placeholder="请输入CASE编号"></c-input>
</c-form-item>
</c-col>
<!-- LT000021 : 汇票号码 -->
<!-- LT000331 : : -->
<el-col :span="24" style="margin-top: 2px;margin-bottom: 1px;">
<c-button :disabled="isFoldDisable" class="medium_bcs" size="medium" style="margin-left: 0"
type="primary">{{ $t('public.归档') }}
</c-button>
<c-button :disabled="isRoutingDisable" class="medium_bcs" size="medium"
style="margin-left: 20" type="primary">ReRouting
</c-button>
<c-button class="medium_bcs" size="medium" style="margin-left: 20" type="primary">
{{ $t('public.导出Excel') }}
</c-button>
</el-col>
<c-col :span="12">
<c-form-item label="汇票号码" prop="qrtp.drfnum">
<c-input v-model="model.qrtp.drfnum" maxlength="20" placeholder="请输入汇票号码"></c-input>
</c-form-item>
</c-col>
<!-- LT000180 : 20域编号(发) -->
<!-- LT000332 : : -->
<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="CASE查询/处理" 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>
<c-col :span="12">
<c-form-item label="20域编号(发)" prop="qrtp.ownrel">
<c-input v-model="model.qrtp.ownrel" maxlength="20" placeholder="请输入20域编号(发)"></c-input>
</c-form-item>
<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>
<!-- LT000181 : 20域编号(收) -->
<!-- LT000333 : : -->
</div>
</el-col>
</div>
</template>
<script>
import event from "../event";
<c-col :span="12">
<c-form-item label=" 20域编号(收)" prop="qrtp.opsref">
<c-input v-model="model.qrtp.opsref" maxlength="20" placeholder="请输入20域编号(收)"></c-input>
</c-form-item>
</c-col>
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeTab: 'fb',
load: false,
subtypCodes: [],
multipleSelection: [],
stmData: {
columns: [
{
label: "更新时间",
prop: "num",
width: "120px"
},
{
label: "G渠道",
prop: "num",
width: "120px"
},
{
label: "发报行BIC",
prop: "num",
width: "120px"
},
{
label: "收报行BIC",
prop: "num",
width: "120px"
},
{
label: "CASE编号",
prop: "num",
width: "120px"
},
{
label: "汇票号码",
prop: "num",
width: "120px"
},
{
label: "20域编号(发)",
prop: "num",
width: "120px"
},
{
label: "20域编号(收)",
prop: "num",
width: "120px"
},
{
label: "账户行BIC(53域)",
prop: "num",
width: "120px"
},
{
label: "账户行BIC(54域)",
prop: "num",
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;
}
<c-col :span="12">
<c-form-item label="UETR" prop="qrtp.uetr">
<c-input v-model="model.qrtp.uetr" maxlength="40" placeholder="请输入UETR"></c-input>
</c-form-item>
</c-col>
<!-- LT004599 : UETR -->
<!-- LT000336 : : -->
<!-- LT000182 : 发报行BIC -->
<!-- LT000334 : : -->
.eibs-tabs /deep/ {
.m-table-search {
padding: 20px 0px 10px 0px;
}
}
<c-col :span="12">
<c-form-item label="发报行BIC" prop="qrtp.sedbak">
<c-input v-model="model.qrtp.sedbak" maxlength="11" placeholder="请输入发报行BIC"></c-input>
</c-form-item>
</c-col>
<!-- LT000183 : 收报行BIC -->
<!-- LT000335 : : -->
.header-wrap {
height: 36px;
display: flex;
justify-content: space-between;
align-items: center;
<c-col :span="12">
<c-form-item label="收报行BIC" prop="qrtp.revbak">
<c-input v-model="model.qrtp.revbak" maxlength="11" placeholder="请输入收报行BIC"></c-input>
</c-form-item>
</c-col>
<!-- LT000184 : 账户行BIC -->
<!-- LT000336 : : -->
.title {
font-size: 16px;
color: #000;
}
<c-col :span="12">
<c-form-item label="账户行BIC" prop="qrtp.actbak">
<c-input v-model="model.qrtp.actbak" maxlength="11" placeholder="请输入账户行BIC"></c-input>
</c-form-item>
</c-col>
.close-btn {
padding: 3px;
cursor: pointer;
}
}
<c-col :span="12">
<c-button size="small" type="primary" icon="el-icon-search" @click="onQrtpCassel">
查询
</c-button>
</c-col>
.m-list-btns {
height: 300px;
overflow: auto;
}
<c-col :span="12">
<c-button size="small" type="primary" @click="onQrtpCasclr">
清空
</c-button>
</c-col>
.medium_bcs {
border-radius: 5px;
}
<c-col :span="12">
<c-button size="small" type="primary" @click="onQrtpCrecas">
新建CASE
</c-button>
</c-col>
.m-table-search {
padding: 20px 0px 10px 0px;
}
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "../model/Event"
.pagination-box {
width: 100%;
height: 30px;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0 10px;
background: #fff;
margin-top: 5px;
}
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
.el-dialog__body {
padding: 10px 5px 50px;
}
}
},
methods:{...Event},
created:function(){
.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;
}
</script>
<style>
.btn-item {
margin-bottom: 10px;
margin-right: 10px;
}
</style>
<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">
<!--qrtp PD000059 qrtsel CASE查询页面 -->
<el-tab-pane :label="$t('qrtp.PD000059')" name="inqpnl">
<m-inqpnl :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
<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-inqpnl :model="model" :codes="codes" ref="inqpnl"/>
</c-content>
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Qrtsel from "../model"
import commonProcess from "~/mixin/commonProcess"
import Check from "../model/Check"
import Default from "../model/Default"
import Pattern from "../model/Pattern"
import Inqpnl from "./Inqpnl"
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Qrtsel from "../model";
import event from "../event"
import Inqpnl from "./Inqpnl.vue"
export default {
export default {
name: "Qrtsel",
components:{
"m-inqpnl" : Inqpnl,
},
provide() {
return {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "inqpnl",
trnName: "qrtsel",
trnType: "",
model: new Qrtsel().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
msgdrt:CodeTable.msgdrt,
kpatyp:CodeTable.kpatyp,
cur:CodeTable.cur,
sdcflg:CodeTable.sdcflg,
gpicod:CodeTable.gpicod,
mgssta:CodeTable.mgssta,
ljschk:CodeTable.ljschk,
offtyp:CodeTable.offtyp,
msgrng:CodeTable.msgrng,
fmssta:CodeTable.fmssta,
clrsys:CodeTable.clrsys,
stacod:CodeTable.stacod,
dottyp:CodeTable.dottyp,
recsta:CodeTable.recsta,
cassta:CodeTable.cassta,
bnksta:CodeTable.bnksta,
gpista:CodeTable.gpista,
kpadir:CodeTable.kpadir,
area:CodeTable.area,
cpsfxdtyp:CodeTable.cpsfxdtyp,
rspsta:CodeTable.rspsta,
sta:CodeTable.sta,
actsta:CodeTable.actsta,
offsta:CodeTable.offsta,
batcharge:CodeTable.batcharge,
msgmst:CodeTable.msgmst,
yosflg:CodeTable.yosflg,
filtyp:CodeTable.filtyp,
dircod:CodeTable.dircod,
kpstyp:CodeTable.kpstyp,
allmsgcod:CodeTable.allmsgcod,
dcflg:CodeTable.dcflg,
cipsstatus:CodeTable.cipsstatus,
curcod:CodeTable.curcod,
msgtyp:CodeTable.msgtyp,
chncod:CodeTable.chncod,
msgsta:CodeTable.msgsta,
usratr:CodeTable.usratr,
msgchksta:CodeTable.msgchksta,
cipsmsgtype:CodeTable.cipsmsgtype,
setmth:CodeTable.setmth,
chniptcod:CodeTable.chniptcod,
dtlchg:CodeTable.dtlchg,
codes:{...CodeTable},
};
},
}
},
methods:{
myTabClick(tab){
this.tabClick(tab)
/**
* do it yourself
**/
}
},
created:async function(){
console.log("进入qrtsel交易");
let rtnmsg = {}; // await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
this.updateModel(rtnmsg.data)
//TODO 处理数据逻辑
methods:{},
created:async function() {},
};
</script>
<style scoped>
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
}
}
</script>
<style>
</style>
\ No newline at end of file
</style>
import Api from "~/service/Api";
import moment from "moment";
export default {
methods: {
async handleSearch() {
let rcvdatsta = this.model.rcvp.rcvdatsta;
if (!rcvdatsta || rcvdatsta == "") {
this.$notify.error({
title: this.$t("financing.错误"),
message: this.$t("financing.查询开始日期必输!"),
});
return;
}
let rcvdatend = this.model.rcvp.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.rcvp,
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.rcvp.msgtyp = "";
this.model.rcvp.rcvdatsta = new Date();
this.model.rcvp.rcvdatend = new Date();
this.model.rcvp.subtyp = "";
this.model.rcvp.sndbak = "";
this.model.rcvp.revbak = "";
this.model.rcvp.actbic = "";
this.model.rcvp.othref = "";
this.model.rcvp.ownref = "";
this.model.rcvp.cur = "";
this.model.rcvp.act = "";
this.model.rcvp.amtmin = "";
this.model.rcvp.amtmax = "";
this.model.rcvp.chnipt = "";
this.model.rcvp.rspsta = "";
this.model.rcvp.dtlchg = "";
this.model.rcvp.sta = "";
this.model.rcvp.gpi="";
},
// 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"
/**
* Rcvselblk Check规则
*/
let checkObj = {
"rcvp.sndbak" :null,
"rcvp.actbic" :null,
"rcvp.revbak" :null,
"rcvp.msgtyp" :null,
"rcvp.othref" :null,
"rcvp.rcvdatend" :null,
"rcvp.ownref" :null,
"rcvp.amtmax" :null,
"rcvp.amtmin" :null,
"rcvp.rcvdatsta" :null,
}
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
/**
* Rcvselblk Default规则
*/
import Api from "~/service/Api";
import Utils from "~/utils/index"
export default {
}
//你可以添加自动default处理
export default {
"rcvp.rcvdatsta":[
{type: "date", required: false, message: "输入正确的日期"}
],
"rcvp.rcvdatend":[
{type: "date", required: false, message: "输入正确的日期"}
],
"rcvp.sndbak":[
{type: "string", required: false, message: "必输项"},
{max: 0,message:"长度不能超过0"}
],
"rcvp.revbak":[
{type: "string", required: false, message: "必输项"},
{max: 0,message:"长度不能超过0"}
],
"rcvp.actbic":[
{type: "string", required: false, message: "必输项"},
{max: 0,message:"长度不能超过0"}
],
"rcvp.othref":[
{type: "string", required: false, message: "必输项"},
{max: 0,message:"长度不能超过0"}
],
"rcvp.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 0,message:"长度不能超过0"}
],
"rcvp.act":[
{type: "string", required: false, message: "必输项"},
{max: 0,message:"长度不能超过0"}
],
"rcvp.amtmin":[
{type: "string", required: false, message: "必输项"},
{max: 18,message:"长度不能超过18"}
],
"rcvp.amtmax":[
{type: "string", required: false, message: "必输项"},
{max: 18,message:"长度不能超过18"}
],
}
\ No newline at end of file
export default class Rcvsel{
constructor () {
this.data = {
rcvp:{
rcvdatsta:"", // : 起始日期 .rcvp.rcvdatsta
rcvdatend:"", // : 终止日期 .rcvp.rcvdatend
msgtyp:"", // : 报文标准 .rcvp.msgtyp
subtyp:"", // : 报文类型 .rcvp.subtyp
sndbak:"", // : 发报行BIC .rcvp.sndbak
revbak:"", // : 收报行BIC .rcvp.revbak
actbic:"", // : 账户行BIC .rcvp.actbic
othref:"", // : 20域编号 .rcvp.othref
ownref:"", // : 21域编号 .rcvp.ownref
cur:"", // : 币种 .rcvp.cur
act:"", // : 账号 .rcvp.act
amtmin:"", // : 金额下限 .rcvp.amtmin
amtmax:"", // : 金额上限 .rcvp.amtmax
chnipt:"", // 行内系统 .rcvp.chnipt
tblvis:"", // 行内系统标签 .rcvp.tblvis
tblvim:"", // 活动标签 .rcvp.tblvim
blksta:"", // 黑名单状态 .rcvp.blksta
dtlchg:"", // : 费用明细 .rcvp.dtlchg
sta:"", // : 处理状态 .rcvp.sta
gpi:"", // GPI标识 .rcvp.gpi
expexl:"", // 导出 .rcvp.expexl
},
msggrp:{
rcvlst:[], // .msggrp.rcvlst
},
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="msgtyp" style="width: 100%">
<c-select v-model="model.rcvp.msgtyp" style="width: 100%" placeholder="请选择货押标识" :code="codes.msgtyp3">
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="开立日期" prop="rcvdatsta" style="width: 100%">
<c-col :span="11">
<c-date-picker type="date" v-model="model.rcvp.rcvdatsta" style="width: 100%"></c-date-picker>
</c-col>
<c-col :span="2" style="text-align: center">
<label style="display: inline-block; width: 100%">-</label>
</c-col>
<c-col :span="11">
<c-date-picker type="date" v-model="model.rcvp.rcvdatend" style="width: 100%"></c-date-picker>
</c-col>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="报文类型" prop="subtype" style="width: 100%">
<el-select v-model="model.rcvp.subtyp" placeholder="请选择报文类型">
<el-option v-for="code in subtypCodes" :key="code.label" :label="code.label" :value="code.value">
</el-option>
</el-select>
</el-form-item>
</c-col>
</c-col>
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle">
<c-col :span="24">
<c-col :span="8">
<el-form-item label="发报行BIC" prop="sndbak" style="width: 100%">
<c-input v-model="model.rcvp.sndbak" maxlength="40" placeholder="请输入发报行BIC">
</c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="收报行BIC" prop="revbak" style="width: 100%">
<c-input v-model="model.rcvp.revbak" maxlength="40" placeholder="请输入收报行BIC">
</c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="账户行BIC" prop="actbic" style="width: 100%">
<c-input v-model="model.rcvp.actbic" maxlength="40" placeholder="请输入账户行BIC">
</c-input>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="8">
<el-form-item label="20域编号" prop="ownref" style="width: 100%">
<c-input v-model="model.rcvp.ownref" maxlength="40" placeholder="请输入20域编号">
</c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="21域编号" prop="othref" style="width: 100%">
<c-input v-model="model.rcvp.othref" maxlength="40" placeholder="请输入21域编号">
</c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="币种" prop="cur" style="width: 100%">
<c-select v-model="model.rcvp.cur" style="width: 100%" placeholder="请选择币种"
:code="codes.cur">
</c-select>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="8">
<el-form-item label="账号" prop="act" style="width: 100%">
<c-input v-model="model.rcvp.act" maxlength="40" placeholder="请输入账号">
</c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="费用明细" prop="dtlchg" style="width: 100%">
<c-select v-model="model.rcvp.dtlchg" style="width: 100%" placeholder="请选择费用明细"
:code="codes.dtlchg">
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
:label="$t('lc.金额区间')"
style="width: 100%"
>
<c-col :span="11">
<c-input
v-model="model.rcvp.amtmin"
:placeholder="$t('lc.请输入金额下限')"
style="width: 100%"
></c-input>
</c-col>
<c-col :span="2" style="text-align: center">
<label style="display: inline-block; width: 100%">-</label>
</c-col>
<c-col :span="11">
<c-input
v-model="model.rcvp.amtmax"
:placeholder="$t('lc.请输入金额上限')"
style="width: 100%"
></c-input>
</c-col>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="8">
<el-form-item label="行内系统" prop="chnipt" style="width: 100%">
<c-select v-model="model.rcvp.chnipt" style="width: 100%" placeholder="请选择行内系统"
:code="codes.chnipt">
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="处理状态" prop="sta" style="width: 100%">
<c-select v-model="model.rcvp.sta" style="width: 100%" placeholder="请选择处理状态"
:code="codes.sta1">
</c-select>
</el-form-item>
</c-col>
</c-col>
</el-row>
</template>
</c-list-search>
<el-col :span="24" style="margin-top: 2px;margin-bottom: 1px;">
<c-button :disabled="isFoldDisable" class="medium_bcs" size="medium" style="margin-left: 0"
type="primary" >{{ $t('public.归档') }}
</c-button>
<c-button :disabled="isRoutingDisable" class="medium_bcs" size="medium"
style="margin-left: 20" type="primary">ReRouting
</c-button>
<c-button class="medium_bcs" size="medium" style="margin-left: 20" type="primary">
{{ $t('public.导出Excel') }}
</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="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>
<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: 'sb',
load: false,
subtypCodes: [],
// isFoldDisable: true,
// isRoutingDisable: true,
multipleSelection:[],
stmData: {
columns: [
{
label: "起息日",
prop: "valdat",
width: "180px"
},
{
label: "20域编号",
prop: "ownref",
width: "180px"
},
{
label: "21域名编号",
prop: "othref",
width: "120px"
},
{
label: "币种",
prop: "cur",
width: "120px"
},
{
label: "金额",
prop: "amt",
width: "120px"
},
{
label: "账号",
prop: "act",
width: "120px"
},
{
label: "费用明细",
prop: "dtlchg",
width: "120px"
},
{
label: "报文类型",
prop: "subtyp",
width: "120px"
},
{
label: "行内系统",
prop: "chnipt",
width: "120px"
},
{
label: "处理状态",
prop: "sta",
width: "120px"
},
{
label: "账户行BIC(53域)",
prop: "actbic",
width: "120px"
},
{
label: "账户行BIC(54域)",
prop: "actbic",
width: "250px"
},
{
label: "发报行BIC",
prop: "sndbic",
width: "150px"
},
{
label: "收报行BIC",
prop: "rcvbic",
width: "150px"
},
{
label: "报文标准",
prop: "msgtyp",
width: "150px"
},
{
label: "GPI标识",
prop: "gpi",
width: "150px"
},
{
label: "子系统",
prop: "",
width: "150px"
},
{
label: "接收时间",
prop: "rcvdattim",
width: "150px"
},
],
data: [],
},
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
};
},
computed:{
isFoldDisable: function(){
return this.multipleSelection.length == 0;
} ,
isRoutingDisable:function(){
return this.multipleSelection.length == 0;
}
},
watch: {
'model.rcvp.msgtyp': {
handler: function (newTyp, oldTyp) {
// 把已经选择的 subtyp 重置
this.model.rcvp.subtyp = '';
const { codes } = this;
if (newTyp == 'txt') {
this.subtypCodes = codes.subtypfps;
} else if (newTyp == 'iso') {
this.subtypCodes = codes.subtypiso;
} else if (newTyp == 'xml') {
this.subtypCodes = codes.subtypcps;
} else {
this.subtypCodes = codes.subtyp1;
}
},
deep: true
}
},
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 Sndsel from "../model";
import event from "../event"
import Schpnl from "./Schpnl.vue"
export default {
name: "Sndselcop",
components:{
"m-schpnl" : Schpnl,
},
provide() {
return {
root: this
}
},
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "schpnl",
trnName: "sndsel",
model: new Sndsel().data,
rules: null,
codes:{...CodeTable},
};
},
methods:{},
created:async function() {},
};
</script>
<style scoped>
</style>
......@@ -17,10 +17,7 @@
</c-col>
<c-col :span="8">
<el-form-item label="币种" prop="subtype" style="width: 100%">
<el-select v-model="model.rcvp.subtyp" placeholder="请选择报文类型">
<el-option v-for="code in subtypCodes" :key="code.label" :label="code.label" :value="code.value">
</el-option>
</el-select>
<c-select v-model="model.smdp.smdsup.cur" placeholder="请选择报文类型" :code="codes.cur"/>
</el-form-item>
</c-col>
</c-col>
......@@ -49,7 +46,7 @@
<div style="height: 90%">
<c-col :span="24">
<el-tabs v-model="activeTab" class="y-tabs">
<el-tab-pane label="发报查询" name="sb">
<el-tab-pane label="对账单明细查询" 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">
......
<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">
<!--smdp PD000000 -->
<el-tab-pane :label="$t('smdp.PD000000')" name="smdp01">
<m-smdp01 :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
<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-smdp01 :model="model" :codes="codes" ref="smdp01"/>
</c-content>
</el-form>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable"
import Smdsel from "../model"
import commonProcess from "~/mixin/commonProcess"
import Smdp01 from "./Smdp01"
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Smdsel from "../model";
import event from "../event"
import Smdp01 from "./Smdp01.vue"
export default {
export default {
name: "Smdsel",
components:{
"m-smdp01" : Smdp01,
},
provide() {
return {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "smdp01",
trnName: "smdsel",
trnType: "",
model: new Smdsel().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
msgdrt:CodeTable.msgdrt,
blksta:CodeTable.blksta,
kpatyp:CodeTable.kpatyp,
cur:CodeTable.cur,
sdcflg:CodeTable.sdcflg,
gpicod:CodeTable.gpicod,
mgssta:CodeTable.mgssta,
ljschk:CodeTable.ljschk,
offtyp:CodeTable.offtyp,
msgrng:CodeTable.msgrng,
fmssta:CodeTable.fmssta,
clrsys:CodeTable.clrsys,
stacod:CodeTable.stacod,
dottyp:CodeTable.dottyp,
recsta:CodeTable.recsta,
cassta:CodeTable.cassta,
bnksta:CodeTable.bnksta,
gpista:CodeTable.gpista,
kpadir:CodeTable.kpadir,
area:CodeTable.area,
cpsfxdtyp:CodeTable.cpsfxdtyp,
rspsta:CodeTable.rspsta,
sta:CodeTable.sta,
actsta:CodeTable.actsta,
offsta:CodeTable.offsta,
batcharge:CodeTable.batcharge,
msgmst:CodeTable.msgmst,
yosflg:CodeTable.yosflg,
filtyp:CodeTable.filtyp,
dircod:CodeTable.dircod,
kpstyp:CodeTable.kpstyp,
allmsgcod:CodeTable.allmsgcod,
dcflg:CodeTable.dcflg,
cipsstatus:CodeTable.cipsstatus,
curcod:CodeTable.curcod,
msgtyp:CodeTable.msgtyp,
chncod:CodeTable.chncod,
msgsta:CodeTable.msgsta,
usratr:CodeTable.usratr,
msgchksta:CodeTable.msgchksta,
cipsmsgtype:CodeTable.cipsmsgtype,
setmth:CodeTable.setmth,
chniptcod:CodeTable.chniptcod,
dtlchg:CodeTable.dtlchg,
codes:{...CodeTable},
};
},
}
},
methods:{
myTabClick(tab){
this.tabClick(tab)
/**
* do it yourself
**/
}
},
created:async function(){
console.log("进入smdsel交易");
let rtnmsg = {}; // await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
this.updateModel(rtnmsg.data)
//TODO 处理数据逻辑
methods:{},
created:async function() {},
};
</script>
<style scoped>
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
}
}
</script>
<style>
</style>
\ No newline at end of file
</style>
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"
/**
* Sndsel Check规则
*/
let checkObj = {
"sndp.rcvdatend" :null,
"sndp.othref" :null,
"sndp.amtmax" :null,
"sndp.msgtyp" :null,
"sndp.ownref" :null,
"sndp.revbak" :null,
"sndp.sndbak" :null,
"sndp.actbic" :null,
"sndp.amtmin" :null,
"sndp.rcvdatsta" :null,
}
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
/**
* Sndsel Default规则
*/
import Api from "~/service/Api";
import Utils from "~/utils/index"
export default {
}
//你可以添加自动default处理
export default {
"sndp.rcvdatsta":[
{type: "date", required: false, message: "输入正确的日期"}
],
"sndp.rcvdatend":[
{type: "date", required: false, message: "输入正确的日期"}
],
"sndp.sndbak":[
{type: "string", required: false, message: "必输项"},
{max: 0,message:"长度不能超过0"}
],
"sndp.revbak":[
{type: "string", required: false, message: "必输项"},
{max: 0,message:"长度不能超过0"}
],
"sndp.actbic":[
{type: "string", required: false, message: "必输项"},
{max: 0,message:"长度不能超过0"}
],
"sndp.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 0,message:"长度不能超过0"}
],
"sndp.othref":[
{type: "string", required: false, message: "必输项"},
{max: 0,message:"长度不能超过0"}
],
"sndp.act":[
{type: "string", required: false, message: "必输项"},
{max: 0,message:"长度不能超过0"}
],
"sndp.amtmin":[
{type: "string", required: false, message: "必输项"},
{max: 18,message:"长度不能超过18"}
],
"sndp.amtmax":[
{type: "string", required: false, message: "必输项"},
{max: 18,message:"长度不能超过18"}
],
"sndp.usrnam":[
{type: "string", required: false, message: "必输项"},
{max: 0,message:"长度不能超过0"}
],
}
\ No newline at end of file
import Api from "~/service/Api"
export default class Sndsel{
constructor () {
this.data = {
sndp:{
rcvdatsta:"", // : 起始日期
rcvdatend:"", // : 截止日期
msgtyp:"", // : 报文标准
subtyp:"", // : 报文类型
sndbak:"", // : 发报行BIC
revbak:"", // : 收报行BIC
actbic:"", // : 账户行
othref:"", // : 21域编号
ownref:"", // : 20域编
cur:"", // : 币种
act:"", // : 账号
amtmin:"", // : 金额下限
amtmax:"", // : 金额上限
chnipt:"", // 行内系统 .sndp.chnipt
rspsta:"", // 回执状态 .sndp.rspsta
tblrsp:"", // 回执状态标签 .sndp.tblrsp
tblrsm:"", // 回执状态标签 .sndp.tblrsm
usrnam:"", // 操作员 .sndp.usrnam
starsp:"", // 处理状态标签 .sndp.starsp
starsm:"", // 处理状态标签 .sndp.starsm
sta:"", // 处理状态 .sndp.sta
dtlchg:"", // : 费用明细
starsp1:"", // 处理状态标签1 .sndp.starsp1
starsm1:"", // 处理状态标签1 .sndp.starsm1
sta1:"", // 处理状态1 .sndp.sta1
expexl:"", // 导出 .sndp.expexl
expexl2:"", // 3910导出 .sndp.expexl2
},
msggrp:{
rcvlst:[], // .msggrp.rcvlst
},
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="msgtyp" style="width: 100%">
<c-select v-model="model.sndp.msgtyp" style="width: 100%" placeholder="请选择货押标识" :code="codes.msgtyp3">
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="开立日期" prop="rcvdatsta" style="width: 100%">
<c-col :span="11">
<c-date-picker type="date" v-model="model.sndp.rcvdatsta" style="width: 100%"></c-date-picker>
</c-col>
<c-col :span="2" style="text-align: center">
<label style="display: inline-block; width: 100%">-</label>
</c-col>
<c-col :span="11">
<c-date-picker type="date" v-model="model.sndp.rcvdatend" style="width: 100%"></c-date-picker>
</c-col>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="报文类型" prop="subtype" style="width: 100%">
<el-select v-model="model.sndp.subtyp" placeholder="请选择报文类型">
<el-option v-for="code in subtypCodes" :key="code.label" :label="code.label" :value="code.value">
</el-option>
</el-select>
</el-form-item>
</c-col>
</c-col>
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle">
<c-col :span="24">
<c-col :span="8">
<el-form-item label="发报行BIC" prop="sndbak" style="width: 100%">
<c-input v-model="model.sndp.sndbak" maxlength="40" placeholder="请输入发报行BIC">
</c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="收报行BIC" prop="revbak" style="width: 100%">
<c-input v-model="model.sndp.revbak" maxlength="40" placeholder="请输入收报行BIC">
</c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="账户行BIC" prop="actbic" style="width: 100%">
<c-input v-model="model.sndp.actbic" maxlength="40" placeholder="请输入账户行BIC">
</c-input>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="8">
<el-form-item label="20域编号" prop="ownref" style="width: 100%">
<c-input v-model="model.sndp.ownref" maxlength="40" placeholder="请输入20域编号">
</c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="21域编号" prop="othref" style="width: 100%">
<c-input v-model="model.sndp.othref" maxlength="40" placeholder="请输入21域编号">
</c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="币种" prop="cur" style="width: 100%">
<c-select v-model="model.sndp.cur" style="width: 100%" placeholder="请选择币种" :code="codes.cur">
</c-select>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="8">
<el-form-item label="账号" prop="act" style="width: 100%">
<c-input v-model="model.sndp.act" maxlength="40" placeholder="请输入账号">
</c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="费用明细" prop="dtlchg" style="width: 100%">
<c-select v-model="model.sndp.dtlchg" style="width: 100%" placeholder="请选择费用明细" :code="codes.dtlchg">
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item :label="$t('lc.金额区间')" style="width: 100%">
<c-col :span="11">
<c-input v-model="model.sndp.amtmin" :placeholder="$t('lc.请输入金额下限')" style="width: 100%"></c-input>
</c-col>
<c-col :span="2" style="text-align: center">
<label style="display: inline-block; width: 100%">-</label>
</c-col>
<c-col :span="11">
<c-input v-model="model.sndp.amtmax" :placeholder="$t('lc.请输入金额上限')" style="width: 100%"></c-input>
</c-col>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="8">
<el-form-item label="行内系统" prop="chnipt" style="width: 100%">
<c-select v-model="model.sndp.chnipt" style="width: 100%" placeholder="请选择行内系统" :code="codes.chnipt">
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="回执状态" prop="rspsta" style="width: 100%">
<c-select v-model="model.sndp.rspsta" style="width: 100%" placeholder="请选择回执状态" :code="codes.rspsta">
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="处理状态" prop="sta" style="width: 100%">
<c-select v-model="model.sndp.sta" style="width: 100%" placeholder="请选择处理状态" :code="codes.sta1">
</c-select>
</el-form-item>
</c-col>
</c-col>
</el-row>
</template>
</c-list-search>
<el-col :span="24" style="margin-top: 2px;margin-bottom: 1px;">
<c-button :disabled="isFoldDisable" class="medium_bcs" size="medium" style="margin-left: 0"
type="primary" >{{ $t('public.归档') }}
</c-button>
<c-button :disabled="isRoutingDisable" class="medium_bcs" size="medium"
style="margin-left: 20" type="primary">ReRouting
</c-button>
<c-button class="medium_bcs" size="medium" style="margin-left: 20" type="primary">
{{ $t('public.导出Excel') }}
</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: "valdat",
width: "180px"
},
{
label: "20域编号",
prop: "ownref",
width: "180px"
},
{
label: "21域名编号",
prop: "othref",
width: "120px"
},
{
label: "币种",
prop: "cur",
width: "120px"
},
{
label: "金额",
prop: "amt",
width: "120px"
},
{
label: "账号",
prop: "act",
width: "120px"
},
{
label: "费用明细",
prop: "dtlchg",
width: "120px"
},
{
label: "报文类型",
prop: "subtyp",
width: "120px"
},
{
label: "行内系统",
prop: "chnipt",
width: "120px"
},
{
label: "处理状态",
prop: "sta",
width: "120px"
},
{
label: "账户行BIC(53域)",
prop: "actbic",
width: "120px"
},
{
label: "账户行BIC(54域)",
prop: "actbic",
width: "250px"
},
{
label: "发报行BIC",
prop: "sndbic",
width: "150px"
},
{
label: "收报行BIC",
prop: "rcvbic",
width: "150px"
},
{
label: "报文标准",
prop: "msgtyp",
width: "150px"
},
{
label: "GPI标识",
prop: "gpi",
width: "150px"
},
{
label: "子系统",
prop: "",
width: "150px"
},
{
label: "处理时间",
prop: "sttdattim",
width: "150px"
},
],
data: [],
},
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
};
},
computed:{
isFoldDisable: function(){
return this.multipleSelection.length == 0;
} ,
isRoutingDisable:function(){
return this.multipleSelection.length == 0;
}
},
watch: {
'model.sndp.msgtyp': {
handler: function (newTyp, oldTyp) {
// 把已经选择的 subtyp 重置
this.model.sndp.subtyp = '';
const { codes } = this;
if (newTyp == 'txt') {
this.subtypCodes = codes.subtypfps;
} else if (newTyp == 'iso') {
this.subtypCodes = codes.subtypiso;
} else if (newTyp == 'xml') {
this.subtypCodes = codes.subtypcps;
} else {
this.subtypCodes = codes.subtyp1;
}
},
deep: true
}
},
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 Sndsel from "../model";
import event from "../event"
import Schpnl from "./Schpnl.vue"
export default {
name: "Sndselcop",
components:{
"m-schpnl" : Schpnl,
},
provide() {
return {
root: this
}
},
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "schpnl",
trnName: "sndsel",
model: new Sndsel().data,
rules: null,
codes:{...CodeTable},
};
},
methods:{},
created:async function() {},
};
</script>
<style scoped>
</style>
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;
}
},
};
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<!-- 持续展示区 -->
<template v-slot="searchSlot">
<el-row>
<c-col :span="24">
<div class="e-table-wrapper">
<el-table
:data="model.usrmsggrp.usrlst"
style="width: 100%"
>
<el-table-column
prop="reqnum"
label="申请序号"
sortable
width="150">
</el-table-column>
<el-table-column
prop="sndcod"
label="发起节点"
sortable
width="100">
</el-table-column>
<el-table-column
prop="rcvcod"
label="接收节点"
sortable
width="100">
</el-table-column>
<el-table-column
prop="oriinf"
label="原识别信息"
sortable
width="180">
</el-table-column>
<el-table-column
prop="newinf"
label="新识别信息"
sortable
width="180">
</el-table-column>
<el-table-column
prop="subtyp"
label="报文类型"
sortable
width="80">
</el-table-column>
<el-table-column
prop="curdat"
label="当前日期"
sortable
width="100">
</el-table-column>
<el-table-column
prop="rsptim"
label="创建时间"
sortable
width="180">
</el-table-column>
<el-table-column
prop="mancod"
label="报文处理码"
sortable
width="120">
</el-table-column>
<el-table-column
prop="sta"
label="处理状态"
sortable
width="70">
<template slot-scope="scope">
<span>{{ this.codes.bnksta.find(item=>item.value==scope.row.sta).label }}</span>
</template>
</el-table-column>
</el-table>
<el-pagination
layout="prev, pager, next"
:total="1">
</el-pagination>
</div>
</c-col>
<!-- LT000029 : 起始时间 -->
<c-col :span="12">
<el-form-item :label="$t('usrmsgp.LT000092')" prop="usrmsgp.begtim">
<c-date-picker type="date" v-model="model.usrmsgp.begtim" style="width:100%" :placeholder="$t('other.please_enter')+$t('usrmsgp.LT000092')"></c-date-picker>
<c-col :span="8">
<el-form-item label="申请序号" prop="" style="width: 100%">
<c-input v-model="model.usrmsgp.reqnum" style="width: 100%" placeholder="请输入申请序号" />
</el-form-item>
</c-col>
<!-- LT000092 : : -->
<!-- LT000030 : 截止时间 -->
<c-col :span="12">
<el-form-item :label="$t('usrmsgp.LT000092')" prop="usrmsgp.endtim">
<c-date-picker type="date" v-model="model.usrmsgp.endtim" style="width:100%" :placeholder="$t('other.please_enter')+$t('usrmsgp.LT000092')"></c-date-picker>
</el-form-item>
</c-col>
<!-- LT000092 : : -->
<!-- LT000005 : 申请序号 -->
<c-col :span="12">
<c-form-item :label="$t('usrmsgp.LT000092')" prop="usrmsgp.reqnum">
<c-input v-model="model.usrmsgp.reqnum" maxlength="16" :placeholder="$t('other.please_enter')+$t('usrmsgp.LT000092')"></c-input>
</c-form-item>
</c-col>
<!-- LT000092 : : -->
<!-- LT000006 : 报文类型 -->
<c-col :span="12">
<el-form-item :label="$t('usrmsgp.LT000092')" prop="usrmsgp.subtyp">
<c-select v-model="model.usrmsgp.subtyp" style="width:100%" :placeholder="$t('other.please_enter')+$t('usrmsgp.LT000092')">
</c-select>
<c-col :span="8">
<el-form-item label="报文类型" prop="" style="width: 100%">
<c-select v-model="model.usrmsgp.subtyp" style="width: 100%" placeholder="请选择报文类型"
:code="codes.subtyp" />
</el-form-item>
</c-col>
<!-- LT000092 : : -->
<!-- LT000008 : 发起节点 -->
<c-col :span="12">
<c-form-item :label="$t('usrmsgp.LT000092')" prop="usrmsgp.sndcod">
<c-input v-model="model.usrmsgp.sndcod" maxlength="11" :placeholder="$t('other.please_enter')+$t('usrmsgp.LT000092')"></c-input>
</c-form-item>
</c-col>
<!-- LT000092 : : -->
<!-- LT000009 : 接收节点 -->
<!-- LT000092 : : -->
<c-col :span="12">
<c-form-item :label="$t('usrmsgp.LT000092')" prop="usrmsgp.rcvcod">
<c-input v-model="model.usrmsgp.rcvcod" maxlength="11" :placeholder="$t('other.please_enter')+$t('usrmsgp.LT000092')"></c-input>
</c-form-item>
</c-col>
<!-- LT000013 : 原识别信息 -->
<c-col :span="12">
<c-form-item :label="$t('usrmsgp.LT000092')" prop="usrmsgp.oriinf">
<c-input v-model="model.usrmsgp.oriinf" maxlength="20" :placeholder="$t('other.please_enter')+$t('usrmsgp.LT000092')"></c-input>
</c-form-item>
</c-col>
<!-- LT000092 : : -->
<!-- LT000014 : 新识别信息 -->
<c-col :span="12">
<c-form-item :label="$t('usrmsgp.LT000092')" prop="usrmsgp.newinf">
<c-input v-model="model.usrmsgp.newinf" maxlength="20" :placeholder="$t('other.please_enter')+$t('usrmsgp.LT000092')"></c-input>
</c-form-item>
</c-col>
<!-- LT000092 : : -->
<!-- LT000012 : 处理状态 -->
<c-col :span="12">
<el-form-item :label="$t('usrmsgp.LT000092')" prop="usrmsgp.sta">
<c-select v-model="model.usrmsgp.sta" style="width:100%" :placeholder="$t('other.please_enter')+$t('usrmsgp.LT000092')">
<el-option
v-for="item in codes.bnksta"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</c-select>
<c-col :span="8">
<el-form-item label="发起节点:" prop="" style="width: 100%">
<c-input v-model="model.usrmsgp.sndcod" style="width: 100%" placeholder="请输入发起节点:" />
</el-form-item>
</c-col>
<!-- LT000092 : : -->
<c-col :span="12">
<c-button size="small" type="primary" icon="el-icon-search" @click="onSel">
{{$t('usrmsgp.BT000015')}}
</c-button>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" @click="onReset">
{{$t('usrmsgp.BT000016')}}
</c-button>
</c-col>
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle">
</el-row>
</template>
</c-list-search>
<c-col :span="12">
<c-button size="small" type="primary" @click="onUsrmsgpDlpnl">
{{$t('usrmsgp.BT000233')}}
<el-col :span="24" style="margin-top: 2px;margin-bottom: 1px;">
<c-button :disabled="isFoldDisable" class="medium_bcs" size="medium" style="margin-left: 0" type="primary">{{
$t('public.归档') }}
</c-button>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" @click="onUsrmsgpTuichu">
{{$t('usrmsgp.BT000399')}}
<c-button :disabled="isRoutingDisable" class="medium_bcs" size="medium" style="margin-left: 20"
type="primary">ReRouting
</c-button>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" @click="onUsrmsgpCerbng">
{{$t('usrmsgp.BT000728')}}
<c-button class="medium_bcs" size="medium" style="margin-left: 20" type="primary">
{{ $t('public.导出Excel') }}
</c-button>
</c-col>
</el-col>
<c-col :span="12">
<c-button size="small" type="primary" @click="onUsrmsgpBnkchg">
{{$t('usrmsgp.BT000729')}}
</c-button>
</c-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>
<c-col :span="12">
<c-button size="small" type="primary" @click="onUsrmsgpNumsig">
{{$t('usrmsgp.BT000730')}}
</c-button>
<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 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'],
props:["model","codes"],
mixins: [commonProcess],
data(){
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeTab: 'fb',
load: false,
subtypCodes: [],
multipleSelection: [],
stmData: {
columns: [
{
label: "申请序号",
prop: "reqnum",
width: "120px"
},
{
label: "发起节点",
prop: "rcvcod",
width: "120px"
},
{
label: "接收节点",
prop: "rcvcod",
width: "120px"
},
{
label: "原识别信息",
prop: "oriinf",
width: "120px"
},
{
label: "新识别信息",
prop: "newinf",
width: "120px"
},
{
label: "当前日期",
prop: "curdat",
width: "120px"
},
{
label: "创建时间",
prop: "rsptim",
width: "120px"
},
{
label: "报文处理码",
prop: "mancod",
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:{...Event},
created:function(){
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;
}
}
</script>
<style>
.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">
<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">
<!--usrmsgp PD000004 查询主页面 -->
<el-tab-pane :label="$t('usrmsgp.PD000004')" name="mainpnl">
<m-mainpnl :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
<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-mainpnl :model="model" :codes="codes" ref="mainpnl"/>
</c-content>
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Usrmsg from "../model"
import commonProcess from "~/mixin/commonProcess"
import Check from "../model/Check"
import Default from "../model/Default"
import Pattern from "../model/Pattern"
import Mainpnl from "./Mainpnl"
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Usrmsg from "../model";
import event from "../event"
import Mainpnl from "./Mainpnl.vue"
export default {
export default {
name: "Usrmsg",
components:{
"m-mainpnl" : Mainpnl,
},
provide() {
return {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "mainpnl",
trnName: "usrmsg",
trnType: "",
model: new Usrmsg().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
msgdrt:CodeTable.msgdrt,
blksta:CodeTable.blksta,
kpatyp:CodeTable.kpatyp,
cur:CodeTable.cur,
sdcflg:CodeTable.sdcflg,
smttyp:CodeTable.smttyp,
gpicod:CodeTable.gpicod,
mgssta:CodeTable.mgssta,
ljschk:CodeTable.ljschk,
offtyp:CodeTable.offtyp,
msgrng:CodeTable.msgrng,
fmssta:CodeTable.fmssta,
clrsys:CodeTable.clrsys,
errtyp:CodeTable.errtyp,
stacod:CodeTable.stacod,
dottyp:CodeTable.dottyp,
recsta:CodeTable.recsta,
cassta:CodeTable.cassta,
bnksta:CodeTable.bnksta,
gpista:CodeTable.gpista,
kpadir:CodeTable.kpadir,
area:CodeTable.area,
cpsfxdtyp:CodeTable.cpsfxdtyp,
rspsta:CodeTable.rspsta,
sta:CodeTable.sta,
actsta:CodeTable.actsta,
offsta:CodeTable.offsta,
batcharge:CodeTable.batcharge,
msgmst:CodeTable.msgmst,
yosflg:CodeTable.yosflg,
filtyp:CodeTable.filtyp,
dircod:CodeTable.dircod,
kpstyp:CodeTable.kpstyp,
allmsgcod:CodeTable.allmsgcod,
dcflg:CodeTable.dcflg,
cipsstatus:CodeTable.cipsstatus,
curcod:CodeTable.curcod,
msgtyp:CodeTable.msgtyp,
chncod:CodeTable.chncod,
msgsta:CodeTable.msgsta,
usratr:CodeTable.usratr,
msgchksta:CodeTable.msgchksta,
cipsmsgtype:CodeTable.cipsmsgtype,
setmth:CodeTable.setmth,
chniptcod:CodeTable.chniptcod,
dtlchg:CodeTable.dtlchg,
codes:{...CodeTable},
};
},
}
},
methods:{
myTabClick(tab){
this.tabClick(tab)
/**
* do it yourself
**/
}
},
created:async function(){
console.log("进入usrmsg交易");
let rtnmsg = {}; // await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
this.updateModel(rtnmsg.data)
//TODO 处理数据逻辑
methods:{},
created:async function() {},
};
</script>
<style scoped>
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
}
}
</script>
<style>
</style>
\ No newline at end of file
</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