Commit 88a3eb40 by zhoujunpeng

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

parents 8433cded 0939ef0b
......@@ -4847,7 +4847,7 @@ const CodeTable = {
{ label: "MT", value: "sf2" },
{ label: "ISO", value: "iso" },
{ label: "FXPS", value: "fxp" },
{ label: "CIPS", value: "cps" },
{ label: "NXY", value: "nxy" },
],
mylx: [
{ label: "服务贸易", value: "F" },
......
......@@ -52,6 +52,9 @@ const BusRouter = [
{ path: 'sndsel', component: () => import("./Sndsel/views"), name: 'Sndsel', meta: { keepAlive: true, title: '发报查询', module: 'frontend' } },
{ path: 'msgdtl', component: () => import("./Msgdtl/views"), name: 'Msgdtl', meta: { keepAlive: true, title: '报文原文展示', module: 'frontend' } },
{ path: 'msgdtlrsm', component: () => import("./Msgdtlrsm/views"), name: 'Msgdtlrsm', meta: { keepAlive: true, title: '报文疑似重复详情页面', module: 'frontend' } },
{ path: 'Msgdtlsep', component: () => import("./Msgdtlsep/views"), name: 'Msgdtlsep', meta: { keepAlive: true, title: '报文失败处理详情页面', module: 'frontend' } },
{ path: 'Msgdtlrtm', component: () => import("./Msgdtlrtm/views"), name: 'Msgdtlrtm', meta: { keepAlive: true, title: '报文人工清分详情页面', module: 'frontend' } },
{ path: 'Msgdtlblk', component: () => import("./Msgdtlblk/views"), name: 'Msgdtlblk', meta: { keepAlive: true, title: '收报灰名单详情页面', module: 'frontend' } },
{ path: 'sndselcop', component: () => import("./Sndselcop/views"), name: 'Sndselcop', meta: { keepAlive: true, title: '发报疑似重复处理', module: 'frontend' } },
{ path: 'rcvselcop', component: () => import("./Rcvselcop/views"), name: 'Rcvselcop', meta: { keepAlive: true, title: '收报疑似重复处理', module: 'frontend' } },
{ path: 'msgrtm', component: () => import("./Msgrtm/views"), name: 'Msgrtm', meta: { keepAlive: true, title: '人工清分', module: 'frontend' } },
......
......@@ -6,9 +6,9 @@
<c-button class="medium_bcs" size="medium" style="margin-left: 40px" type="primary" @click="handleCheck">
放行
</c-button>
<c-button class="medium_bcs" size="medium" style="margin-left: 40px" type="primary" @click="handleReject">
<!-- <c-button class="medium_bcs" size="medium" style="margin-left: 40px" type="primary" @click="handleReject">
丢弃
</c-button>
</c-button> -->
<c-button class="medium_bcs" size="medium" style="margin-left: 40px" type="primary" @click="handleSkip">
忽略
</c-button>
......@@ -78,15 +78,31 @@ export default {
let params={
mpsinr: this.$route.query.mpsinr || "",
};
const rtnmsg = await Api.post(`/${this.moduleRouter()}/msgsel/check`, params);
const rtnmsg = await Api.post(`/${this.moduleRouter()}/msgsel/rtmp/sav`, params);
if (rtnmsg.respCode === SUCCESS) {
this.$notify({ title: '成功', type: 'success', message: '放行成功' })
}
});
},
async handleSkip() {
this.$confirm("确定忽略该报文?", "提示", {
confirmButtonText: "确认",
cancelButtonText: "取消",
type: "warning",
}).then(async() => {
let params={
mpsinr: this.$route.query.mpsinr || "",
};
const rtnmsg = await Api.post(`/${this.moduleRouter()}/msgsel/rtmp/skip`, params);
if (rtnmsg.respCode === SUCCESS) {
this.$notify({ title: '成功', type: 'success', message: '丢弃成功' })
this.$notify({ title: '成功', type: 'success', message: '忽略成功' })
}
});
},
async handleReject() {
this.$confirm("确定丢弃该报文?", "提示", {
async handleReSkip() {
this.$confirm("确定取消忽略该报文?", "提示", {
confirmButtonText: "确认",
cancelButtonText: "取消",
type: "warning",
......@@ -94,9 +110,9 @@ export default {
let params={
mpsinr: this.$route.query.mpsinr || "",
};
const rtnmsg = await Api.post(`/${this.moduleRouter()}/msgsel/reject`, params);
const rtnmsg = await Api.post(`/${this.moduleRouter()}/msgsel/rtmp/reskip`, params);
if (rtnmsg.respCode === SUCCESS) {
this.$notify({ title: '成功', type: 'success', message: '丢弃成功' })
this.$notify({ title: '成功', type: 'success', message: '取消忽略成功' })
}
});
},
......
......@@ -141,13 +141,13 @@
</el-col>
<el-col :span="24" style="margin-top: 10px">
<div style="height: 90%">
<div>
<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">
size="small" :border="true" height="calc(100vh - 420px)" :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"
......
......@@ -141,14 +141,14 @@
</el-col>
<el-col :span="24" style="margin-top: 10px">
<div style="height: 90%">
<div>
<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"
@row-dblclick="dbClickRow"
size="small" :border="true" height="calc(100vh - 480px)" :highlight-current-row="true">
size="small" :border="true" height="calc(100vh - 420px)" :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"
......
......@@ -24,7 +24,7 @@ import Schpnl from "./Schpnl.vue"
export default {
name: "Sndsel",
name: "Msgrtm",
components:{
"m-schpnl" : Schpnl,
......
......@@ -136,13 +136,13 @@
</el-col>
<el-col :span="24" style="margin-top: 10px">
<div style="height: 90%">
<div>
<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">
size="small" :border="true" height="calc(100vh - 420px)" :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"
......
......@@ -141,14 +141,14 @@
</el-col>
<el-col :span="24" style="margin-top: 10px">
<div style="height: 90%">
<div>
<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"
@row-dblclick="dbClickRow"
size="small" :border="true" height="calc(100vh - 480px)" :highlight-current-row="true">
size="small" :border="true" height="calc(100vh - 420px)" :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">
......
......@@ -9,7 +9,7 @@ export default {
sf2: 'MT',
iso: 'MX',
fxp: 'FXPS',
cps: 'CIPS',
nxy: 'NXY',
}
let rtnmsg = await Api.post("/frontend/common/subtyp", {
mty: mapData[firstKey]
......
import Api from "~/service/Api";
import getSubtyp from '~/page/Frontend/Rcvsel/event/getSubtyp.js';
import moment from "moment";
import Rcvsel from "../model";
import Utils from "~/utils";
export default {
mixins: [getSubtyp],
......@@ -60,24 +62,9 @@ export default {
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 = "";
let resetModel = new Rcvsel().data
Utils.copyValueFromVoData(this.model, resetModel);
this.handleSearch();
},
// pageSize改变
handleSizeChange(val) {
......
import Utils from "~/utils"
export default {
/**
* 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,
}
"rcvp.rcvdatsta": [
{ type: "date", required: false, message: "输入正确的日期" }
],
"rcvp.rcvdatend": [
{ type: "date", required: false, message: "输入正确的日期" }
],
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
"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
/**
* 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
......@@ -28,7 +28,6 @@ export default class Rcvsel {
msggrp: {
rcvlst: [], // .msggrp.rcvlst
},
pageId: "" // ctx的key
}
}
}
\ No newline at end of file
......@@ -161,6 +161,7 @@
<el-table-column v-for="(item, key) in stmData.columns" :key="key" :label="item.label" :prop="item.prop" :min-width="item.width">
<template slot-scope="scope">
<c-select-value-to-label v-if="item.prop == 'sta'" v-model="scope.row.sta" :code="codes.stacod"></c-select-value-to-label>
<span v-else-if="item.prop == 'amt'">{{ moneyFormat(scope.row.amt, scope.row.cur) }}</span>
<span v-else>{{ scope.row[item.prop] }}</span>
</template>
</el-table-column>
......@@ -208,7 +209,7 @@ export default {
{
label: "币种",
prop: "cur",
width: "100px"
width: "80px"
},
{
label: "金额",
......@@ -253,12 +254,12 @@ export default {
{
label: "发报行BIC",
prop: "sndbic",
width: "120px"
width: "150px"
},
{
label: "收报行BIC",
prop: "rcvbic",
width: "120px"
width: "150px"
},
{
label: "报文标准",
......
<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"
: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"/>
......@@ -18,11 +18,10 @@
<script>
import CodeTable from "~/config/CodeTable";
import Sndsel from "../model";
import Rcvsel from "../model";
import event from "../event"
import Schpnl from "./Schpnl.vue"
export default {
name: "Rcvsel",
components:{
......@@ -34,12 +33,12 @@ export default {
root: this
}
},
mixins: [event], // 里面包含了Default、Check等的公共处理
mixins: [event],
data(){
return {
tabVal: "schpnl",
trnName: "sndsel",
model: new Sndsel().data,
trnName: "rcvsel",
model: new Rcvsel().data,
rules: null,
codes:{...CodeTable},
};
......
import Api from "~/service/Api";
import getSubtyp from '~/page/Frontend/Rcvsel/event/getSubtyp.js';
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;
}
mixins: [getSubtyp],
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("/frontend/msgsel/query", {
...this.model.rcvp,
dir: "<",
querytyp: "rcvblk",
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;
this.load = true;
let rtnmsg = await Api.post("/frontend/msgsel/query", {
...this.model.rcvp,
dir: "<",
querytyp: "rcvblk",
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.服务请求失败!"),
});
list.forEach(v => {
for (let i in sta1) {
if (sta1[i].value == v.sta) {
v.sta = sta1[i].label;
}
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;
}
}
})
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;
}
},
};
......@@ -7,11 +7,19 @@
<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 v-model="model.rcvp.msgtyp" style="width: 100%" placeholder="请选择货押标识" :code="codes.msgtyp3" @change="getSubtyp(model.rcvp.msgtyp, 'rcvp.subtyp')">
</c-select>
</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 :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>
......@@ -24,14 +32,6 @@
</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>
<!-- 可控展示区 -->
......@@ -150,14 +150,14 @@
<el-col :span="24" style="margin-top: 10px">
<div style="height: 90%">
<div>
<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"
@row-dblclick="dbClickRow"
size="small" :border="true" height="calc(100vh - 480px)" :highlight-current-row="true">
size="small" :border="true" height="calc(100vh - 420px)" :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"
......@@ -306,23 +306,7 @@ export default {
}
},
watch: {
'model.rcvp.msgtyp': {
handler: function (newTyp, oldTyp) {
// 把已经选择的 subtyp 重置
this.model.rcvp.subtyp = '';
const { codes } = this;
if (newTyp === 'sf2') {
this.subtypCodes = codes.mttyp;
} else if (newTyp === 'iso') {
this.subtypCodes = codes.isotyp;
} else if (newTyp === 'txt') {
this.subtypCodes = codes.fmttyp;
} else {
this.subtypCodes = codes.cipstyp;
}
},
deep: true
}
},
methods: {
dbClickRow(row) {
......
......@@ -24,7 +24,7 @@ import Schpnl from "./Schpnl.vue"
export default {
name: "Sndsel",
name: "Rcvselblk",
components:{
"m-schpnl" : Schpnl,
......
import Api from "~/service/Api";
import getSubtyp from '~/page/Frontend/Rcvsel/event/getSubtyp.js';
import moment from "moment";
import Rcvsel from "../model";
import Utils from "~/utils";
export default {
mixins: [getSubtyp],
methods: {
......@@ -61,24 +62,9 @@ export default {
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 = "";
let resetModel = new Rcvsel().data
Utils.copyValueFromVoData(this.model, resetModel);
this.handleSearch();
},
// pageSize改变
handleSizeChange(val) {
......
import Utils from "~/utils"
export default {
/**
* 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
"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
/**
* 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: new Date((new Date).getTime() - (3 * 24 * 60 * 60 * 1000)), // : 起始日期 .rcvp.rcvdatsta
rcvdatend: new Date(), // : 终止日期 .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
}
export default class Rcvsel {
constructor() {
this.data = {
rcvp: {
rcvdatsta: new Date((new Date).getTime() - (3 * 24 * 60 * 60 * 1000)), // : 起始日期 .rcvp.rcvdatsta
rcvdatend: new Date(), // : 终止日期 .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
},
}
}
}
\ No newline at end of file
......@@ -150,19 +150,20 @@
<el-col :span="24" style="margin-top: 10px">
<div style="height: 90%">
<div>
<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"
@row-dblclick="dbClickRow"
size="small" :border="true" height="calc(100vh - 480px)" :highlight-current-row="true">
size="small" :border="true" height="calc(100vh - 420px)" :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">
<template slot-scope="scope">
<c-select-value-to-label v-if="item.prop == 'sta'" v-model="scope.row.sta" :code="codes.stacod"></c-select-value-to-label>
<span v-else-if="item.prop == 'amt'">{{ moneyFormat(scope.row.amt, scope.row.cur) }}</span>
<span v-else>{{ scope.row[item.prop] }}</span>
</template>
</el-table-column>
......@@ -198,12 +199,12 @@ export default {
{
label: "起息日",
prop: "valdat",
width: "150px"
width: "120px"
},
{
label: "20域编号",
prop: "ownref",
width: "150px"
width: "120px"
},
{
label: "21域名编号",
......@@ -213,17 +214,17 @@ export default {
{
label: "币种",
prop: "cur",
width: "100px"
width: "80px"
},
{
label: "金额",
prop: "amt",
width: "100px"
width: "120px"
},
{
label: "账号",
prop: "act",
width: "100px"
width: "150px"
},
{
label: "费用明细",
......@@ -233,7 +234,7 @@ export default {
{
label: "报文类型",
prop: "subtyp",
width: "120px"
width: "150px"
},
{
label: "行内系统",
......@@ -268,17 +269,17 @@ export default {
{
label: "报文标准",
prop: "msgtyp",
width: "150px"
width: "120px"
},
{
label: "GPI标识",
prop: "gpi",
width: "150px"
width: "120px"
},
{
label: "子系统",
prop: "zxt",
width: "150px"
width: "120px"
},
{
label: "接收时间",
......
<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"
: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"/>
......@@ -18,28 +18,26 @@
<script>
import CodeTable from "~/config/CodeTable";
import Sndsel from "../model";
import Rcvsel from "../model";
import event from "../event"
import Schpnl from "./Schpnl.vue"
export default {
name: "Sndselcop",
name: "Rcvselcop",
components:{
"m-schpnl" : Schpnl,
},
provide() {
return {
root: this
}
},
mixins: [event], // 里面包含了Default、Check等的公共处理
mixins: [event],
data(){
return {
tabVal: "schpnl",
trnName: "sndsel",
model: new Sndsel().data,
trnName: "rcvsel",
model: new Rcvsel().data,
rules: null,
codes:{...CodeTable},
};
......
import Api from "~/service/Api";
import moment from "moment";
import Smpsel from "../model";
import Utils from "~/utils";
export default {
methods: {
async handleSearch() {
......@@ -28,9 +29,9 @@ export default {
this.load = false;
},
async handleReset() {
this.model.smdp.smdsup.ptpmod.pty.extkey = ''
this.model.smdp.smdsup.act = ''
this.model.smdp.smdsup.cur = ''
let resetModel = new Smpsel().data
Utils.copyValueFromVoData(this.model, resetModel);
this.handleSearch();
},
// pageSize改变
handleSizeChange(val) {
......
......@@ -12,10 +12,10 @@ export default class Smpsel {
smtno: "",
begnum: "",
endnum: "",
begdat: new Date((new Date).getTime() - (3 * 24 * 60 * 60 * 1000)),
enddat: new Date(),
valdatbeg: new Date((new Date).getTime() - (3 * 24 * 60 * 60 * 1000)),
valdatend: new Date(),
begdat: '',
enddat: '',
valdatbeg: '',
valdatend: '',
smpp: {
smpsup: {
smtno: "", // : .smpp.smpsup.smtno
......
......@@ -97,37 +97,52 @@
height="calc(100vh - 280px)"
:highlight-current-row="true"
>
<el-table-column prop="chk" label="" width="30">
<!-- <el-table-column prop="chk" label="" width="30">
</el-table-column> -->
<el-table-column prop="recdat" label="收报日期" width="120">
</el-table-column>
<el-table-column prop="recdat" label="收报日期" width="90">
</el-table-column>
<el-table-column prop="valdat" label="起息日期" width="90">
<el-table-column prop="valdat" label="起息日期" width="120">
</el-table-column>
<el-table-column prop="chnnam" label="账户行名称" width="150">
</el-table-column>
<el-table-column prop="bic" label="BIC" width="90">
<el-table-column prop="bic" label="BIC" width="150">
</el-table-column>
<el-table-column prop="act" label="帐号" width="100">
<el-table-column prop="act" label="帐号" width="150">
</el-table-column>
<el-table-column prop="cur" label="币种" width="100">
<el-table-column prop="cur" label="币种" width="80">
</el-table-column>
<el-table-column prop="ref" label="对账单参考号" width="130">
<el-table-column prop="ref" label="对账单参考号" width="150">
</el-table-column>
<el-table-column prop="smtno" label="所属单编号" width="150">
</el-table-column>
<el-table-column prop="pagnum" label="页码" width="50">
<el-table-column prop="pagnum" label="页码" width="100">
</el-table-column>
<el-table-column prop="pagamenum" label="修改后页码" width="150">
<el-table-column prop="pagamenum" label="修改后页码" width="120">
</el-table-column>
<el-table-column prop="begamt" label="页初金额" width="120">
<template slot-scope="scope">
{{ moneyFormat(scope.row.begamt, scope.row.cur) }}
</template>
</el-table-column>
<el-table-column prop="newbegamt" label="修改后页初金额" width="150">
<template slot-scope="scope">
{{ moneyFormat(scope.row.newbegamt, scope.row.cur) }}
</template>
</el-table-column>
<el-table-column prop="endamt" label="页末金额" width="120">
<template slot-scope="scope">
{{ moneyFormat(scope.row.endamt, scope.row.cur) }}
</template>
</el-table-column>
<el-table-column prop="newendamt" label="修改后页末金额" width="150">
<template slot-scope="scope">
{{ moneyFormat(scope.row.newendamt, scope.row.cur) }}
</template>
</el-table-column>
<el-table-column prop="endvalamt" label="页末可用金额" width="150">
<template slot-scope="scope">
{{ moneyFormat(scope.row.endvalamt, scope.row.cur) }}
</template>
</el-table-column>
<el-table-column prop="dtlamt" label="明细条数" width="100">
</el-table-column>
......
<template>
<div class="eContainer">
<el-form :model="model" :rules="rules" ref="modelForm" label-width="150px" label-position="right" size="small"
<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-smpp01 :model="model" :codes="codes" />
......
import Api from "~/service/Api";
import Smtsel from "../model";
import Utils from "~/utils";
export default {
mixins: [],
methods: {
......@@ -25,15 +27,9 @@ export default {
this.load = false;
},
async handleReset() {
this.model.extkey = "";
this.model.sndref = "";
this.model.flg = "";
this.model.sta = "";
this.model.acksrv = "";
this.model.elcmsgtyp = ""
this.model.rcvdat = $CurDate();
this.model.gendat = new Date(($CurDate()).getTime() - (7 * 24 * 60 * 60 * 1800));
this.model.endgendat = $CurDate();
let resetModel = new Smtsel().data
Utils.copyValueFromVoData(this.model, resetModel);
this.handleSearch();
},
// pageSize改变
handleSizeChange(val) {
......
<template>
<div class="eContainer">
<div class="eContainer-search">
<el-form :model="model" :rules="rules" ref="modelForm" label-width="150px" label-position="right" size="small"
:validate-on-rule-change="false">
<c-content>
......
import Api from "~/service/Api";
import getSubtyp from '~/page/Frontend/Rcvsel/event/getSubtyp.js';
import moment from "moment";
import Sndsel from "../model";
import Utils from "~/utils";
export default {
mixins: [getSubtyp],
......@@ -60,23 +62,9 @@ export default {
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 = "";
let resetModel = new Sndsel().data
Utils.copyValueFromVoData(this.model, resetModel);
this.handleSearch();
},
// pageSize改变
handleSizeChange(val) {
......
......@@ -7,7 +7,8 @@
<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" @change="getSubtyp(model.sndp.msgtyp, 'sndp.subtyp')">
<c-select v-model="model.sndp.msgtyp" style="width: 100%" placeholder="请选择报文标准" :code="codes.msgtyp3"
@change="getSubtyp(model.sndp.msgtyp, 'sndp.subtyp')">
</c-select>
</el-form-item>
</c-col>
......@@ -129,16 +130,16 @@
</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>
<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%">
......@@ -146,17 +147,17 @@
<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"
@row-dblclick="dbClickRow"
size="small" :border="true" height="calc(100vh - 420px)" :highlight-current-row="true">
<el-table-column type="selection" width="55">
@selection-change="handleSelectionChange" @row-dblclick="dbClickRow" size="small" :border="true"
height="calc(100vh - 420px)" :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">
<template slot-scope="scope">
<c-select-value-to-label v-if="item.prop == 'sta'" v-model="scope.row.sta" :code="codes.stacod"></c-select-value-to-label>
<span v-else>{{ scope.row[item.prop] }}</span>
</template>
<c-select-value-to-label v-if="item.prop == 'sta'" v-model="scope.row.sta" :code="codes.stacod"></c-select-value-to-label>
<span v-else-if="item.prop == 'amt'">{{ moneyFormat(scope.row.amt, scope.row.cur) }}</span>
<span v-else>{{ scope.row[item.prop] }}</span>
</template>
</el-table-column>
</el-table>
......@@ -183,7 +184,7 @@ export default {
activeTab: 'fb',
load: false,
subtypCodes: [],
multipleSelection:[],
multipleSelection: [],
stmData: {
columns: [
{
......@@ -204,17 +205,17 @@ export default {
{
label: "币种",
prop: "cur",
width: "100px"
width: "80px"
},
{
label: "金额",
prop: "amt",
width: "100px"
width: "120px"
},
{
label: "账号",
prop: "act",
width: "120px"
width: "150px"
},
{
label: "费用明细",
......@@ -224,7 +225,7 @@ export default {
{
label: "报文类型",
prop: "subtyp",
width: "120px"
width: "150px"
},
{
label: "行内系统",
......@@ -259,17 +260,17 @@ export default {
{
label: "报文标准",
prop: "msgtyp",
width: "150px"
width: "120px"
},
{
label: "GPI标识",
prop: "gpi",
width: "150px"
width: "120px"
},
{
label: "子系统",
prop: "zxt",
width: "150px"
width: "120px"
},
{
label: "处理时间",
......@@ -287,16 +288,16 @@ export default {
},
};
},
computed:{
isFoldDisable: function(){
computed: {
isFoldDisable: function () {
return this.multipleSelection.length == 0;
} ,
isRoutingDisable:function(){
return this.multipleSelection.length == 0;
}
},
isRoutingDisable: function () {
return this.multipleSelection.length == 0;
}
},
watch: {
},
methods: {
dbClickRow(row) {
......
......@@ -15,12 +15,10 @@ import Sndsel from "../model";
import event from "../event"
import Schpnl from "./Schpnl.vue"
export default {
name: "Sndsel",
components: {
"m-schpnl": Schpnl,
},
provide() {
return {
......
import Api from "~/service/Api";
import getSubtyp from '~/page/Frontend/Rcvsel/event/getSubtyp.js';
import moment from "moment";
import Sndsel from "../model";
import Utils from "~/utils";
export default {
mixins: [getSubtyp],
......@@ -61,23 +63,9 @@ export default {
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 = "";
let resetModel = new Sndsel().data
Utils.copyValueFromVoData(this.model, resetModel);
this.handleSearch();
},
// pageSize改变
handleSizeChange(val) {
......
import Utils from "~/utils"
export default {
/**
* 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,
}
"sndp.rcvdatsta": [
{ type: "date", required: false, message: "输入正确的日期" }
],
"sndp.rcvdatend": [
{ type: "date", required: false, message: "输入正确的日期" }
],
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
"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
/**
* 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: new Date((new Date).getTime() - (3 * 24 * 60 * 60 * 1000)), // : 起始日期
rcvdatend: new Date(), // : 截止日期
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
}
export default class Sndsel {
constructor() {
this.data = {
sndp: {
rcvdatsta: new Date((new Date).getTime() - (3 * 24 * 60 * 60 * 1000)), // : 起始日期
rcvdatend: new Date(), // : 截止日期
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
......@@ -148,13 +148,14 @@
<el-table :data="stmData.data" :columns="stmData.columns" v-loading="load" style="width: 100%"
@selection-change="handleSelectionChange"
@row-dblclick="dbClickRow"
size="small" :border="true" height="calc(100vh - 480px)" :highlight-current-row="true">
size="small" :border="true" height="calc(100vh - 420px)" :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">
<template slot-scope="scope">
<c-select-value-to-label v-if="item.prop == 'sta'" v-model="scope.row.sta" :code="codes.stacod"></c-select-value-to-label>
<span v-else-if="item.prop == 'amt'">{{ moneyFormat(scope.row.amt, scope.row.cur) }}</span>
<span v-else>{{ scope.row[item.prop] }}</span>
</template>
</el-table-column>
......@@ -189,12 +190,12 @@ export default {
{
label: "起息日",
prop: "valdat",
width: "150px"
width: "120px"
},
{
label: "20域编号",
prop: "ownref",
width: "150px"
width: "120px"
},
{
label: "21域名编号",
......@@ -204,17 +205,17 @@ export default {
{
label: "币种",
prop: "cur",
width: "100px"
width: "80px"
},
{
label: "金额",
prop: "amt",
width: "100px"
width: "120px"
},
{
label: "账号",
prop: "act",
width: "100px"
width: "150px"
},
{
label: "费用明细",
......@@ -224,7 +225,7 @@ export default {
{
label: "报文类型",
prop: "subtyp",
width: "120px"
width: "150px"
},
{
label: "行内系统",
......@@ -259,12 +260,12 @@ export default {
{
label: "报文标准",
prop: "msgtyp",
width: "150px"
width: "120px"
},
{
label: "GPI标识",
prop: "gpi",
width: "150px"
width: "120px"
},
{
label: "子系统",
......
<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"
: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"/>
......@@ -22,19 +22,17 @@ 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等的公共处理
mixins: [event],
data(){
return {
tabVal: "schpnl",
......
<template>
<div style="height: 40%">
<CardWrapper title="外汇牌价" :isShowRefresh="true" v-on="$listeners" v-bind="$attrs" @refresh="refresh" >
<div class="content">
<div class="rates-top">
<div class="rates-items">
<div class="rates-items-title">汇总种类:</div>
<div class="rates-items-description">即期牌价</div>
</div>
<div class="rates-items">
<div class="rates-items-title">货币名称:</div>
<div class="rates-items-description">CNY-人民币</div>
</div>
<div class="rates-items">
<div class="rates-items-title">牌价时间:</div>
<div class="rates-items-description">{{today}}</div>
</div>
<!-- <div class="rates-items">
<div style="height: 40%">
<CardWrapper
title="外汇牌价"
:isShowRefresh="true"
v-on="$listeners"
v-bind="$attrs"
@refresh="refresh"
>
<div class="content">
<div class="rates-top">
<div class="rates-items">
<div class="rates-items-title">汇总种类:</div>
<div class="rates-items-description">即期牌价</div>
</div>
<div class="rates-items">
<div class="rates-items-title">货币名称:</div>
<div class="rates-items-description">CNY-人民币</div>
</div>
<div class="rates-items">
<div class="rates-items-title">牌价时间:</div>
<div class="rates-items-description">{{ today }}</div>
</div>
<!-- <div class="rates-items">
<div class="rates-items-title">生效日期:</div>
<div class="rates-items-description">{{today}}</div>
</div> -->
</div>
<el-table :data="xrtData" style="width: 100%" stripe :highlight-current-row="true" height="calc(100% - 30px)">
<el-table-column prop="curnam" label="货币名称">
</el-table-column>
<el-table-column prop="midrat" label="中间价">
</el-table-column>
<el-table-column prop="buyrat" label="现汇买入价">
</el-table-column>
<el-table-column prop="selrat" label="现汇卖出价">
</el-table-column>
<!-- <el-table-column prop="buy1rat" label="现钞买入价">
</div>
<el-table
:data="xrtData"
style="width: 100%"
stripe
:highlight-current-row="true"
height="calc(100% - 30px)"
>
<el-table-column prop="curnam" label="货币名称"> </el-table-column>
<el-table-column prop="midrat" label="中间价"> </el-table-column>
<el-table-column prop="buyrat" label="现汇买入价"> </el-table-column>
<el-table-column prop="selrat" label="现汇卖出价"> </el-table-column>
<!-- <el-table-column prop="buy1rat" label="现钞买入价">
</el-table-column>
<el-table-column prop="sel1rat" label="现钞卖出价">
</el-table-column> -->
</el-table>
<!--<c-paging-table
</el-table>
<!--<c-paging-table
:data="xrtData"
:columns="xrtColumns"
:highlight-current-row="true"
......@@ -45,14 +53,14 @@
:border="true"
>
</c-paging-table>-->
</div>
</CardWrapper>
</div>
</div>
</CardWrapper>
</div>
</template>
<script>
import CardWrapper from "./CardWrapper";
import {queryFXRateList} from "~/service/manage/xrt.js";
import { queryFXRateList } from "~/service/manage/xrt.js";
import moment from "moment";
export default {
......@@ -60,126 +68,128 @@ export default {
components: { CardWrapper },
data() {
return {
today:'',
today: "",
xrtData: [],
xrtColumns: [
{ label: '货币名称', prop: 'curnam', width: 'auto' },
{ label: '中间价', prop: 'midrat', width: 'auto' },
{ label: '现汇买入价', prop: 'buyrat', width: 'auto' },
{ label: '现汇卖出价', prop: 'selrat', width: 'auto' },
{ label: '现钞卖出价', prop: 'sel1rat', width: 'auto' },
{ label: '现钞买入价', prop: 'buy1rat', width: 'auto' },
],
{ label: "货币名称", prop: "curnam", width: "auto" },
{ label: "中间价", prop: "midrat", width: "auto" },
{ label: "现汇买入价", prop: "buyrat", width: "auto" },
{ label: "现汇卖出价", prop: "selrat", width: "auto" },
{ label: "现钞卖出价", prop: "sel1rat", width: "auto" },
{ label: "现钞买入价", prop: "buy1rat", width: "auto" },
],
xrtmodel: {
cur:"",
curnam:"",
begdat:"",
enddat:"",
buyrat:0,
selrat:0,
sel1rat:0,
buy1rat:0,
cur: "",
curnam: "",
begdat: "",
enddat: "",
buyrat: 0,
selrat: 0,
sel1rat: 0,
buy1rat: 0,
pageNum: 0,
pageSize: 0,
total: 0
total: 0,
},
};
},
mounted(){
this.today = moment(new Date()).format("YYYY.MM.DD HH:mm")
mounted() {
this.today = moment(new Date()).format("YYYY.MM.DD HH:mm");
},
created() {
this.xrtmodel.begdat = this.getNowDate();
this.xrtmodel.enddat = "2999-12-31";
this.xrtmodel.pageNum = 1;
this.xrtmodel.pageSize = 10;
this.onInfXrtSearch();
},
methods: {
getNowDate() {
const timeOne = new Date()
const year = timeOne.getFullYear()
let month = timeOne.getMonth() + 1
let day = timeOne.getDate()
month = month < 10 ? '0' + month : month
day = day < 10 ? '0' + day : day
const NOW_MONTHS_AGO = `${year}-${month}-${day}`
return NOW_MONTHS_AGO
getNowDate() {
const timeOne = new Date();
const year = timeOne.getFullYear();
let month = timeOne.getMonth() + 1;
let day = timeOne.getDate();
month = month < 10 ? "0" + month : month;
day = day < 10 ? "0" + day : day;
const NOW_MONTHS_AGO = `${year}-${month}-${day}`;
return NOW_MONTHS_AGO;
},
onInfXrtSearch() {
queryFXRateList(this.xrtmodel).then(res => {
if(res.respCode == SUCCESS) {
const list = res.data.list
this.xrtData = list
this.xrtmodel.pageNum = res.data.pageNumber
this.xrtmodel.pageSize = res.data.pageSize
this.xrtmodel.total = res.data.total
queryFXRateList(this.xrtmodel).then((res) => {
if (res.respCode == SUCCESS) {
const list = res.data.list;
this.xrtData = list;
this.xrtmodel.pageNum = res.data.pageNumber;
this.xrtmodel.pageSize = res.data.pageSize;
this.xrtmodel.total = res.data.total;
}
})
},
});
},
queryFunc(pageNumber, pageSize) {
this.xrtmodel.pageNum = pageNumber
this.xrtmodel.pageSize = pageSize
this.onInfXrtSearch()
this.xrtmodel.pageNum = pageNumber;
this.xrtmodel.pageSize = pageSize;
this.onInfXrtSearch();
},
refresh(){
this.today = moment(new Date()).format("YYYY.MM.DD HH:mm")
refresh() {
this.today = moment(new Date()).format("YYYY.MM.DD HH:mm");
this.xrtmodel.begdat = this.getNowDate();
this.xrtmodel.enddat = "2299-12-31";
this.onInfXrtSearch();
}
}
},
},
};
</script>
<style scoped lang="less">
.content {
width: 100%;
width: 100%;
padding: 12px 0;
height: 100%;
}
.rates-top {
position: absolute;
top:38px;
// right:0;
z-index: 2;
width: 100%;
background: #fff;
display: flex;
line-height: 36px;
justify-content: flex-start;
font-size: 14px;
// padding: 0 20px;
box-sizing: border-box;
position: absolute;
top: 38px;
// right:0;
z-index: 2;
width: 100%;
background: #fff;
display: flex;
line-height: 36px;
justify-content: flex-start;
font-size: 14px;
// padding: 0 20px;
box-sizing: border-box;
}
.rates-items {
// width: 30%;
display:flex;
// flex-direction: column;
// padding: 0 0 15px;
// width: 30%;
display: flex;
// flex-direction: column;
// padding: 0 0 15px;
}
.rates-items .rates-items-title {
// width: 100%;
height: 40px;
line-height: 40px;
display: inline;
color:var(--text-secondary-color)
// width: 100%;
height: 40px;
line-height: 40px;
display: inline;
color: var(--text-secondary-color);
}
.rates-items .rates-items-description {
// width: 100%;
height: 40px;
line-height: 40px;
padding-right: 10px;
color:var(--text-color-1)
// width: 100%;
height: 40px;
line-height: 40px;
padding-right: 10px;
color: var(--text-color-1);
}
.content /deep/ .el-table{
margin-top:30px;
.content /deep/ .el-table {
margin-top: 30px;
}
.content /deep/ .el-table::before {
height: 0px;
height: 0px;
}
.content /deep/ .el-table th {
color: var(--warning-text-color);
background: #fcf6ec;
line-height: 22px;
color: var(--warning-text-color);
background: #fcf6ec;
line-height: 22px;
}
.content /deep/ .el-table tr {
background: #f9f9f9;
......@@ -204,7 +214,7 @@ export default {
padding: 7px 0;
}
.content /deep/ .el-table .cell {
height: 21px;
line-height: 21px;
height: 21px;
line-height: 21px;
}
</style>
<template>
<div class="eContainer">
<c-page title="汇入汇款">
<el-form :model="model" :rules="curRules" ref="modelForm" label-width="120px" label-position="right" size="small" :validate-on-rule-change="false">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
<!--cptadv PD000020 -->
<el-tab-pane label="业务信息" name="opnp1">
<c-content>
<m-ovwp :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<el-tab-pane :label="$t('commonModels.费用/账务')" name="setpan">
<c-content>
<m-setmod :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<el-tab-pane label="报文/面函" name="docpan">
<c-content>
<m-docpan :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<!--bopgat PD000006 外管信息 -->
<el-tab-pane label="外管信息" name="bopgat" v-if="model.cpdgrp.rec.accmod=='' || model.cpdgrp.rec.accmod=='G' || model.cpdgrp.rec.accmod=='0'">
<c-content>
<m-bopgat :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<!--rmbbop PD000001 跨境人民币申报 -->
<el-tab-pane label="跨境人民币申报" name="rmbbop" v-if="showRmbbop">
<c-content>
<m-rmbbop :codes="codes" :model="model" ref="rmbbop" />
</c-content>
</el-tab-pane>
<el-tab-pane :label="$t('commonModels.统一名单')" name="usrmd">
<c-content>
<m-usrmd :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<!-- 国贸公服 -->
<el-tab-pane :label="$t('commonModels.国贸公服')" name="gmgf" v-if="model.gmgfVo.visual">
<c-content>
<m-gmgf :codes="codes" :model="model.gmgfVo" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<!-- 底部按钮 -->
<c-function-btn :handleSubmit="handleSubmit" :handleCheck="handleCheck" :handleStash="handleStash" ref="commonBtn" @handleSureWarning="handleSureWarning"></c-function-btn>
</c-page>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Cptadv from "~/page/Remittance/Cptadv/model";
import event from "~/page/Remittance/Cptadv/event";
import operationFunc from "~/mixin/operationFunc";
import commonDepend from "~/mixin/commonDepend";
import Checkswift from "~/page/Remittance/Cptadv/model/checkswift";
import Checkcips from "~/page/Remittance/Cptadv/model/checkcips";
import Checkjnwb from "~/page/Remittance/Cptadv/model/checkjnwb";
import Checkhnhz from "~/page/Remittance/Cptadv/model/checkhnhz";
import Checkother from "~/page/Remittance/Cptadv/model/checkother";
import Default from "~/page/Remittance/Cptadv/model/default";
import buildFn from "~/page/Remittance/Cptadv/event/buildCommons.js";
import SwiftOpnp from "~/page/Remittance/Cptadv/views/swift/Opnp1";
import CipsOpnp from "~/page/Remittance/Cptadv/views/cips/Opnp1";
import JnwbOpnp from "~/page/Remittance/Cptadv/views/jnwb/Opnp1";
import HnhzOpnp from "~/page/Remittance/Cptadv/views/hnhz/Opnp1";
import OtherOpnp from "~/page/Remittance/Cptadv/views/other/Opnp1";
import Orcpye from "~/page/Remittance/Cptadv/views/swift/Orcpye";
import Orcpye2 from "~/page/Remittance/Cptadv/views/cips/Orcpye";
import Orcpye3 from "~/page/Remittance/Cptadv/views/jnwb/Orcpye";
import Orcpye4 from "~/page/Remittance/Cptadv/views/hnhz/Orcpye";
import Orcpye5 from "~/page/Remittance/Cptadv/views/other/Orcpye";
import Routeinfo from "~/page/Remittance/Cptadv/views/Routeinfo";
import Setmod from "~/components/business/setmod/views";
import Docpan from "~/components/business/docpan/views";
import Doctre from "~/components/business/doctre/views";
import Rmbbop from "~/components/business/rmb/rmbbop/views";
import Usrmd from "~/components/business/Usrmd/views";
import Bopgat from "~/components/business/Bopgat/views";
import Ovwp from "~/page/Remittance/Cptadv/views/Ovwp";
import Gmgf from "~/components/business/gmgf/views";
export default {
name: "Cptadvgzth",
components: {
"m-swift-opnp": SwiftOpnp,
"m-cips-opnp": CipsOpnp,
"m-jnwb-opnp": JnwbOpnp,
"m-hnhz-opnp": HnhzOpnp,
"m-other-opnp": OtherOpnp,
"m-routeinfo": Routeinfo,
"m-swift-orcpye": Orcpye,
"m-cips-orcpye": Orcpye2,
"m-jnwb-orcpye": Orcpye3,
"m-hnhz-orcpye": Orcpye4,
"m-other-orcpye": Orcpye5,
"m-setmod": Setmod,
"m-docpan": Docpan,
"m-doctre": Doctre,
"m-rmbbop": Rmbbop,
"m-usrmd": Usrmd,
"m-bopgat": Bopgat,
"m-ovwp": Ovwp,
"m-gmgf": Gmgf,
},
provide() {
return {
root: this,
markPyeact: "" //备份收款人账号
};
},
mixins: [Default, operationFunc, event, commonDepend, buildFn],
data() {
return {
tabVal: "opnp1",
trnName: "cptadv",
model: new Cptadv().data,
codes: {
...CodeTable
},
activeNames: ["route"],
markRules: {},
rules: {}
};
},
computed: {
curRules() {
if (this.model.cpdgrp.rec.cptrou == "SWIFT") {
return { ...Checkswift.apply(this), ...this.rules };
} else if (this.model.cpdgrp.rec.cptrou == "CIPS") {
return { ...Checkcips.apply(this), ...this.rules };
} else if (this.model.cpdgrp.rec.cptrou == "JNWB") {
return { ...Checkjnwb.apply(this), ...this.rules };
} else if (this.model.cpdgrp.rec.cptrou == "HNHZ") {
return { ...Checkhnhz.apply(this), ...this.rules };
}else if (this.model.cpdgrp.rec.cptrou == "OTHER") {
return { ...Checkother.apply(this), ...this.rules };
}
return {};
},
showRmbbop() {
const cptrou = this.model.cpdgrp.rec.cptrou;
if (cptrou === "HNHZ") {
const orcact = this.model.cpdgrp.rec.orcact; //汇款人账号
const pyeact = this.model.cpdgrp.rec.pyeact; //收款人账号
const flag1 = orcact.includes("EFN") || orcact.includes("FTN") || orcact.includes("NRA");
const flag2 = !pyeact.includes("EFN") && !pyeact.includes("FTN") && !pyeact.includes("NRA");
return this.model.cpdgrp.rec.manbod !== "1" && !(flag1 && flag2);
} else {
const accmod = this.model.cpdgrp.rec.accmod;
return cptrou !== 'JNWB' && (accmod === '' || accmod === '0' || accmod === 'G');
}
}
},
methods: {},
created() {
console.log("进入cptadv交易");
let params = {
transName: this.trnName,
operation: this.$route.query.type,
cpdgrp: {
rec: {
inr: this.$route.query.inr,
accmod: this.$route.query.accmod
}
}
};
this.model.operation = this.$route.query.type;
this.init(params);
}
};
</script>
<style lang="less" scoped>
::v-deep .el-collapse-item__content{
padding-bottom: 0px!important;
}
::v-deep .el-tabs__content .eibs-tab{
padding:0px!important
}
</style>
\ No newline at end of file
<template>
<div class="eContainer">
<c-page title="汇入汇款">
<el-form :model="model" :rules="curRules" ref="modelForm" label-width="120px" label-position="right" size="small" :validate-on-rule-change="false">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
<!--cptadv PD000020 -->
<el-tab-pane label="业务信息" name="opnp1">
<c-content>
<m-ovwp :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<el-tab-pane :label="$t('commonModels.费用/账务')" name="setpan">
<c-content>
<m-setmod :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<el-tab-pane label="报文/面函" name="docpan">
<c-content>
<m-docpan :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<!--bopgat PD000006 外管信息 -->
<el-tab-pane label="外管信息" name="bopgat" v-if="model.cpdgrp.rec.accmod=='' || model.cpdgrp.rec.accmod=='G' || model.cpdgrp.rec.accmod=='0'">
<c-content>
<m-bopgat :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<!--rmbbop PD000001 跨境人民币申报 -->
<el-tab-pane label="跨境人民币申报" name="rmbbop" v-if="showRmbbop">
<c-content>
<m-rmbbop :codes="codes" :model="model" ref="rmbbop" />
</c-content>
</el-tab-pane>
<el-tab-pane :label="$t('commonModels.统一名单')" name="usrmd">
<c-content>
<m-usrmd :codes="codes" :model="model" />
</c-content>
</el-tab-pane>
<!-- 国贸公服 -->
<el-tab-pane :label="$t('commonModels.国贸公服')" name="gmgf" v-if="model.gmgfVo.visual">
<c-content>
<m-gmgf :codes="codes" :model="model.gmgfVo" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<!-- 底部按钮 -->
<c-function-btn :handleSubmit="handleSubmit" :handleCheck="handleCheck" :handleStash="handleStash" ref="commonBtn" @handleSureWarning="handleSureWarning"></c-function-btn>
</c-page>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Cptadv from "~/page/Remittance/Cptadv/model";
import event from "~/page/Remittance/Cptadv/event";
import operationFunc from "~/mixin/operationFunc";
import commonDepend from "~/mixin/commonDepend";
import Checkswift from "~/page/Remittance/Cptadv/model/checkswift";
import Checkcips from "~/page/Remittance/Cptadv/model/checkcips";
import Checkjnwb from "~/page/Remittance/Cptadv/model/checkjnwb";
import Checkhnhz from "~/page/Remittance/Cptadv/model/checkhnhz";
import Checkother from "~/page/Remittance/Cptadv/model/checkother";
import Default from "~/page/Remittance/Cptadv/model/default";
import buildFn from "~/page/Remittance/Cptadv/event/buildCommons.js";
import SwiftOpnp from "~/page/Remittance/Cptadv/views/swift/Opnp1";
import CipsOpnp from "~/page/Remittance/Cptadv/views/cips/Opnp1";
import JnwbOpnp from "~/page/Remittance/Cptadv/views/jnwb/Opnp1";
import HnhzOpnp from "~/page/Remittance/Cptadv/views/hnhz/Opnp1";
import OtherOpnp from "~/page/Remittance/Cptadv/views/other/Opnp1";
import Orcpye from "~/page/Remittance/Cptadv/views/swift/Orcpye";
import Orcpye2 from "~/page/Remittance/Cptadv/views/cips/Orcpye";
import Orcpye3 from "~/page/Remittance/Cptadv/views/jnwb/Orcpye";
import Orcpye4 from "~/page/Remittance/Cptadv/views/hnhz/Orcpye";
import Orcpye5 from "~/page/Remittance/Cptadv/views/other/Orcpye";
import Routeinfo from "~/page/Remittance/Cptadv/views/Routeinfo";
import Setmod from "~/components/business/setmod/views";
import Docpan from "~/components/business/docpan/views";
import Doctre from "~/components/business/doctre/views";
import Rmbbop from "~/components/business/rmb/rmbbop/views";
import Usrmd from "~/components/business/Usrmd/views";
import Bopgat from "~/components/business/Bopgat/views";
import Ovwp from "~/page/Remittance/Cptadv/views/Ovwp";
import Gmgf from "~/components/business/gmgf/views";
export default {
name: "Cptadvjfth",
components: {
"m-swift-opnp": SwiftOpnp,
"m-cips-opnp": CipsOpnp,
"m-jnwb-opnp": JnwbOpnp,
"m-hnhz-opnp": HnhzOpnp,
"m-other-opnp": OtherOpnp,
"m-routeinfo": Routeinfo,
"m-swift-orcpye": Orcpye,
"m-cips-orcpye": Orcpye2,
"m-jnwb-orcpye": Orcpye3,
"m-hnhz-orcpye": Orcpye4,
"m-other-orcpye": Orcpye5,
"m-setmod": Setmod,
"m-docpan": Docpan,
"m-doctre": Doctre,
"m-rmbbop": Rmbbop,
"m-usrmd": Usrmd,
"m-bopgat": Bopgat,
"m-ovwp": Ovwp,
"m-gmgf": Gmgf,
},
provide() {
return {
root: this,
markPyeact: "" //备份收款人账号
};
},
mixins: [Default, operationFunc, event, commonDepend, buildFn],
data() {
return {
tabVal: "opnp1",
trnName: "cptadv",
model: new Cptadv().data,
codes: {
...CodeTable
},
activeNames: ["route"],
markRules: {},
rules: {}
};
},
computed: {
curRules() {
if (this.model.cpdgrp.rec.cptrou == "SWIFT") {
return { ...Checkswift.apply(this), ...this.rules };
} else if (this.model.cpdgrp.rec.cptrou == "CIPS") {
return { ...Checkcips.apply(this), ...this.rules };
} else if (this.model.cpdgrp.rec.cptrou == "JNWB") {
return { ...Checkjnwb.apply(this), ...this.rules };
} else if (this.model.cpdgrp.rec.cptrou == "HNHZ") {
return { ...Checkhnhz.apply(this), ...this.rules };
}else if (this.model.cpdgrp.rec.cptrou == "OTHER") {
return { ...Checkother.apply(this), ...this.rules };
}
return {};
},
showRmbbop() {
const cptrou = this.model.cpdgrp.rec.cptrou;
if (cptrou === "HNHZ") {
const orcact = this.model.cpdgrp.rec.orcact; //汇款人账号
const pyeact = this.model.cpdgrp.rec.pyeact; //收款人账号
const flag1 = orcact.includes("EFN") || orcact.includes("FTN") || orcact.includes("NRA");
const flag2 = !pyeact.includes("EFN") && !pyeact.includes("FTN") && !pyeact.includes("NRA");
return this.model.cpdgrp.rec.manbod !== "1" && !(flag1 && flag2);
} else {
const accmod = this.model.cpdgrp.rec.accmod;
return cptrou !== 'JNWB' && (accmod === '' || accmod === '0' || accmod === 'G');
}
}
},
methods: {},
created() {
console.log("进入cptadv交易");
let params = {
transName: this.trnName,
operation: this.$route.query.type,
cpdgrp: {
rec: {
inr: this.$route.query.inr,
accmod: this.$route.query.accmod
}
}
};
this.model.operation = this.$route.query.type;
this.init(params);
}
};
</script>
<style lang="less" scoped>
::v-deep .el-collapse-item__content{
padding-bottom: 0px!important;
}
::v-deep .el-tabs__content .eibs-tab{
padding:0px!important
}
</style>
......@@ -3,7 +3,8 @@ const RemittanceRouter = [
// { path: 'cptatt', component: () => import('./Cptatt/views'), name: 'cptatt', meta: { keepAlive: true, title: '境内外币汇入汇款' } },
// { path: 'cptato', component: () => import('./Cptato/views'), name: 'cptato', meta: { keepAlive: true, title: '境内外币汇出汇款' } },
{ path: 'cptadv', component: () => import('./Cptadv/views'), name: 'Cptadv', meta: { keepAlive: true, title: '汇入汇款申请' ,module:'Remittance'} },
//{ path: 'cptadv0', component: () => import('./Cptadv0/views'), name: 'cptadv0', meta: { keepAlive: true, title: '汇入汇款' } },
{ path: 'cptadvgzth', component: () => import('./Cptadvgzth/views'), name: 'Cptadvgzth', meta: { keepAlive: true, title: '汇入汇款挂账退汇' ,module:'Remittance'} },
{ path: 'cptadvjfth', component: () => import('./Cptadvjfth/views'), name: 'Cptadvjfth', meta: { keepAlive: true, title: '汇入汇款解付后退汇',module:'Remittance' } },
{ path: 'cptopn', component: () => import('./Cptopn/views'), name: 'Cptopn', meta: { keepAlive: true, title: '汇出汇款申请', module: 'Remittance'} },
{ path: 'fdhopn', component: () => import('./Fdhopn/views'), name: 'Fdhopn', meta: { keepAlive: true, title: '非电汇汇出汇款',module: 'Remittance' } },
// { path: 'cptcpi', component: () => import('./Cptcpi/views'), name: 'cptcpi', meta: { keepAlive: true, title: '跨境人民币汇入汇款' } },
......
<template>
<div>
</div>
</template>
<script>
import Api from '~/service/Api';
export default {
name: 'singlePage',
mounted() {
this.redirectTo()
},
methods: {
async redirectTo() {
let query = this.$route.query;
// let params = {
// username: query.username,
// password: query.password
// }
// const rtnmsg = await Api.post(`/xxx/xxx/init`, params);
// if (rtnmsg.respCode === SUCCESS) {
// }
window.open('http://192.168.0.114:8099/ips/layout.zul', '_self');
}
}
}
</script>
......@@ -13,6 +13,7 @@ Vue.use(Router)
import login from '../page/login.vue'
import index from '../page/index.vue'
import noLogin from '../page/noLogin.vue'
import singlePage from '../page/singlePage.vue'
import isc_404 from '../page/isc_404.vue'
import business, { docpan } from './business'
......@@ -54,6 +55,14 @@ routes: [
title:'未登录或登录超时'
}
},
{
path:'/singlePage',
component: singlePage,
name: 'singlePage',
meta:{
title:'单点登录'
}
},
{
path:'*',
component:index,
......
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