Commit 9f00d22b by suwenhao

分离trnrel模块;

parent 4f7f452b
import Api from "~/service/Api"
import { rejrow, reprow } from "~/service/business/trnrel"
import Utils from "~/utils/index"
export default {
async onSeaown() {
const that = this.root;
that.executeRule("searow").then(res => {
//TODO 处理数据逻辑
that.$refs.inftrnps.stmData.data = res.data.trncorco_trnstm.rows;
this.model.trncorco.trnstm = res.data.trncorco_trnstm;
})
},
async onSeajbh() {
const that = this.root;
that.executeRule("seajbh").then(res => {
//TODO 处理数据逻辑
that.$refs.inftrnps.stmData.data = res.data.trncorco_trnstm.rows;
})
},
async onSeactr() {
let rtnmsg = await this.executeRule("seactr")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onSearow() {
let rtnmsg = await this.executeRule("searow")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onDsp() {
let rtnmsg = await this.executeRule("dsp")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onImgmodNewimg() {
let rtnmsg = await this.executeRule("imgmod_newimg")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onImgmodNewhisimg() {
let rtnmsg = await this.executeRule("imgmod_newhisimg")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onDiaconButdia() {
let rtnmsg = await this.executeRule("diacon_butdia")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onImgmodHisimg() {
let rtnmsg = await this.executeRule("imgmod_hisimg")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onHandle(idx, row) {
let trnName = row.交易代码.toLowerCase();
let viewurl = "/review/"+trnName;
console.log(idx);
console.log(row);
const operateId = await this.$store.dispatch('Transaction/setOperateFuns', {
pass: this.onRelrow.bind(this, idx),
refuse: this.onReprow.bind(this, idx),
});
// this.$router.push({ path: viewurl, query: { trn: row['INR'], operateId: operateId } });
this.$router.push({ name: 'Review' + trnName.charAt(0).toUpperCase() + trnName.substring(1), query: { trn: row['INR'], operateId: operateId }, params: { prePageId: this.model.pageId } });
},
async onWaitDetail(idx, row) {
let viewurl = "business/inftrnpsDetail";
const selIds = [idx + 1];
const selDst = "trncorco.trnstm" //列表对应后台模型中的stream
let params = { selDst, selIds };
this.executeRule("dsp",params).then((res) => {
if ((res.respCode == SUCCESS)) {
Utils.copyValueFromVO(this.model, res.data);
sessionStorage.setItem('InftrnpsDetail', JSON.stringify(this.model));
// this.$router.push({ path: "business/inftrnpsDetail", query: { idx: idx}});
this.$router.push({ path: viewurl, query: {} });
}else{
const h = this.$createElement;
const msg = res.respMsg||'请求执行失败!'
this.$notify.error({ title: '错误', message: h('p',{style: 'word-break:break-all;'}, msg) })
}
});
},
async onFinishDetail(idx, row) {
let viewurl = "business/trnfndsDetail";
const selIds = [idx + 1];
const selDst = "trncorco.trnstm" //列表对应后台模型中的stream
let params = { selDst, selIds };
this.executeRule("dsp",params).then((res) => {
if ((res.respCode == SUCCESS)) {
Utils.copyValueFromVO(this.model, res.data);
sessionStorage.setItem('InftrnpsDetail', JSON.stringify(this.model));
// this.$router.push({ path: "business/inftrnpsDetail", query: { idx: idx}});
this.$router.push({ path: viewurl, query: {} });
}else{
const h = this.$createElement
const msg = res.respMsg||'请求执行失败!'
this.$notify.error({ title: '错误', message: h('p',{style: 'word-break:break-all;'}, msg) })
}
});
},
async onRelrow(idx) {
this.$confirm('您确定复核该笔交易?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
const selIds = [idx + 1]; //rowno选中行
const selDst = "trncorco.trnstm" //列表对应后台模型中的stream
let params = { selDst: selDst, selIds: selIds };
let rtnmsg = await this.executeRule("relrow", params)
if (rtnmsg.respCode == SUCCESS) {
let errorMsg = "";
let fieldErrorsFlag = (JSON.stringify(rtnmsg.fieldErrors) == "{}");
if (!fieldErrorsFlag) {
let errorMsgkey = "";
let errorMsgVal = "";
for (const key in rtnmsg.fieldErrors) {
errorMsgkey = key;
errorMsgVal = rtnmsg.fieldErrors[key];
}
errorMsg = errorMsgkey + ':' + errorMsgVal;
this.$notify.error({ title: '错误', message: '复核失败!错误信息[' + errorMsg + ']' });
} else {
this.$notify({
title: '成功',
message: '复核成功',
type: 'success'
});
// const that = this.root;
// that.executeRule("searow").then(res => {
// //TODO 处理数据逻辑
// that.$refs.inftrnps.stmData.data = res.data.trncorco_trnstm.rows;
// this.model.trncorco.trnstm = res.data.trncorco_trnstm;
// })
this.$store.dispatch("TagsView/delView", this.$route)
this.$router.history.push("/taskList", () => {
this.$store.commit("setTaskListTabVal", 'trnrel');
this.handleSearch()
});
}
}
else {
let errorMsg = "";
let fieldErrorsFlag = (JSON.stringify(rtnmsg.fieldErrors) == "{}");
if (!fieldErrorsFlag) {
let errorMsgkey = "";
let errorMsgVal = "";
for (const key in rtnmsg.fieldErrors) {
errorMsgkey = key;
errorMsgVal = rtnmsg.fieldErrors[key];
errorMsg = errorMsg + errorMsgkey + ':' + errorMsgVal + ";";
}
} else if (rtnmsg.respMsg) {
errorMsg = rtnmsg.respMsg;
}
this.$notify.error({ title: '错误', message: '复核失败!错误信息[' + errorMsg + ']' });
}
})
},
sleep(ms) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve()
}, ms)
})
},
async onPrinte() {
let rtnmsg = await this.executeRule("printe")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onReprow(idx) {
this.$confirm('您确定退回该笔交易?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
const selIds = [idx + 1]; //rowno选中行
const selDst = "trncorco.trnstm" //列表对应后台模型中的stream
let params = { selDst: selDst, selIds: selIds };
let rtnmsg = await reprow(this.wrapper(params))
if (rtnmsg.respCode == SUCCESS) {
let errorMsg = "";
let fieldErrorsFlag = (JSON.stringify(rtnmsg.fieldErrors) == "{}");
if (!fieldErrorsFlag) {
let errorMsgkey = "";
let errorMsgVal = "";
for (const key in rtnmsg.fieldErrors) {
errorMsgkey = key;
errorMsgVal = rtnmsg.fieldErrors[key];
}
errorMsg = errorMsgkey + ':' + errorMsgVal;
this.$notify.error({ title: '错误', message: '退回失败!错误信息[' + errorMsg + ']' });
} else {
this.$notify({
title: '成功',
message: '退回成功',
type: 'success'
});
this.$store.dispatch("TagsView/delView", this.$route)
this.$router.history.push("/taskList", () => {
this.$store.commit("setTaskListTabVal", 'trnrel');
this.handleSearch()
});
}
}
else {
let errorMsg = "";
let fieldErrorsFlag = (JSON.stringify(rtnmsg.fieldErrors) == "{}");
if (!fieldErrorsFlag) {
let errorMsgkey = "";
let errorMsgVal = "";
for (const key in rtnmsg.fieldErrors) {
errorMsgkey = key;
errorMsgVal = rtnmsg.fieldErrors[key];
errorMsg = errorMsg + errorMsgkey + ':' + errorMsgVal + ";";
}
} else if (rtnmsg.respMsg) {
errorMsg = rtnmsg.respMsg;
}
this.$notify.error({ title: '错误', message: '退回失败!错误信息[' + errorMsg + ']' });
}
})
},
async onRejrow() {
console.log(this.getSelectedData())
this.model.trncorco.selinr['rows'] = this.getSelectedData();
let rtnmsg = await rejrow(this.wrapper())
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
// var cacheFileName = rtnmsg.data.cacheFileName;
// let rejrowRtnmsg = await Api.post("trncor/init", {params:{"cacheFileName":cacheFileName}})
// if(rejrowRtnmsg.respCode == SUCCESS){
// this.$message({
// type: 'success',
// message: 'Reject成功!'
// });
// await this.sleep(2000);
// this.$router.go(0);
// }
this.$message({
type: 'success',
message: 'Reject成功!'
});
// await this.sleep(2000);
// this.$router.go(0);
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onRelcor() {
let rtnmsg = await this.executeRule("relcor")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onExi() {
let rtnmsg = await this.executeRule("exi")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onRecpanDet() {
let rtnmsg = await this.executeRule("recpan_det")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onSyswrnButshw() {
let rtnmsg = await this.executeRule("syswrn_butshw")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onRecpanNotmap() {
let rtnmsg = await this.executeRule("recpan_notmap")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onRecpanButspt() {
let rtnmsg = await this.executeRule("recpan_butspt")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onRecpanInc() {
let rtnmsg = await this.executeRule("recpan_inc")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onRecpanButord() {
let rtnmsg = await this.executeRule("recpan_butord")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onImgmodImage() {
let rtnmsg = await this.executeRule("imgmod_image")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onRecpanIncben() {
let rtnmsg = await this.executeRule("recpan_incben")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onInftxtButtxmsel() {
let rtnmsg = await this.executeRule("inftxt_buttxmsel")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
onSeainf() {
},
async handleSearch() {
const that = this.root;
// if (this.model.searchAllUsers) {
// that.executeRule("seajbh").then(res => {
// //TODO 处理数据逻辑
// that.$refs.inftrnps.stmData.data = res.data.trncorco_trnstm.rows;
// })
// } else {
// that.executeRule("searow").then(res => {
// //TODO 处理数据逻辑
// that.$refs.inftrnps.stmData.data = res.data.trncorco_trnstm.rows;
// this.model.trncorco.trnstm = res.data.trncorco_trnstm;
// })
// }
if(this.model.trncorco.relflg == ''){
this.model.trncorco.relflg = '0';
}
const res = await this.executeRule("inftrnps,searow")
that.$refs.inftrnps.stmData.data = res.data.trncorco_trnstm.rows;
this.model.trncorco.trnstm = res.data.trncorco_trnstm;
this.$store.commit("setTaskList", {key: "trnrel", val: this.stmData.data.length});
// if (res.data.trncorco_trnstm.rows.length == 0) {
// this.$notify({
// title: '成功',
// message: '搜索完毕,无满足条件记录',
// type: 'success'
// });
// }
this.$refs.paramsForm.clearValidate();
Utils.positioningErrorMsg(res.fieldErrors, this.$refs.paramsForm.fields)
},
async trnfndhandleSearch() {
const that = this.root;
if(this.model.trncorco.relflg == ''){
this.model.trncorco.relflg = '1';
}
const res = await this.executeRule("inftrnps,searow")
that.$refs.inftrnps.stmData.data = res.data.trncorco_trnstm.rows;
this.model.trncorco.trnstm = res.data.trncorco_trnstm;
this.$refs.paramsForm.clearValidate();
Utils.positioningErrorMsg(res.fieldErrors, this.$refs.paramsForm.fields)
},
async handleReset() {
this.model.bchcon = "";
this.model.trncorco.ownref = "";
this.model.trncorco.relflg = "ALL";
this.model.usrcon = "";
this.model.trncorco.inidatfro = "";
this.model.trncorco.inidattil = "";
this.model.atp.cod = "";
this.model.trncorco.dflg = "ALL";
this.model.atptxt = "";
this.model.searchAllUsers = false;
},
}
\ No newline at end of file
export default class Trnrel {
constructor() {
this.data = {
trncorco: {
ownref: "", // Reference .trncorco.ownref
relflg: "", // Status .trncorco.relflg
inidatfro: "", // Date of entry of Transaction .trncorco.inidatfro
inidattil: new Date(), // Date of entry of Transaction until .trncorco.inidattil
trnstm: "", // List of transaction sfor display .trncorco.trnstm
dflg: "", // 国内证标志 .trncorco.dflg
selinr: {},
},
atp: {
cod: "", // Transaction Type .atp.cod
},
atpget: {
sdamod: {
seainf: "", // .atpget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .atpget.sdamod.dadsnd
},
},
atptxt: "", // Transaction Text .atptxt
numtrn: "", // # of transactions .numtrn
orddsp: "", // >> .orddsp
bchcon: "", // Branch .bchcon
usrcon: "", // User .usrcon
recpan: {
cpltxt: "", // Completion text .recpan.cpltxt
spt: {
sta: "", // Status .recpan.spt.sta
},
ord: {
sta: "", // Status .recpan.ord.sta
},
recget: {
sdamod: {
seainf: "", // Ident No. .recpan.recget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .recpan.recget.sdamod.dadsnd
},
},
atp: {
cod: "", // Transaction ID .recpan.atp.cod
},
atpget: {
sdamod: {
dadsnd: "", // Drag Drop Sender .recpan.atpget.sdamod.dadsnd
seainf: "", // Transaction .recpan.atpget.sdamod.seainf
},
},
smhstm: "", // Documents .recpan.smhstm
usr: {
extkey: "", // User ID .recpan.usr.extkey
},
usrget: {
sdamod: {
seainf: "", // .recpan.usrget.sdamod.seainf
},
},
trsstm: "", // Signatures .recpan.trsstm
con: "", // Reference .recpan.con
cretrs: {
usr: "", // Entered by .recpan.cretrs.usr
dattim: "", // Timestamp .recpan.cretrs.dattim
},
ackgrp: {
rec: {
sndref: "", // Send to SOP/CASmf reference .recpan.ackgrp.rec.sndref
},
},
wfestm: "", // WFEs for transaction for display .recpan.wfestm
evthisstm: "", // stream of history of transactions .recpan.evthisstm
evtstm: "", // stream of events .recpan.evtstm
ackstm: "", // ACKs for transaction .recpan.ackstm
trostm: "", // TROs for transaction for display .recpan.trostm
prtgleblk: "", // XMLPanel prtgle的内置block .recpan.prtgleblk
prtpanblk: "", // XMLPanel prtpan的内置block .recpan.prtpanblk
},
trn: {
ownref: "", // Reference .trn.ownref
inr: "", // Transaction Key .trn.inr
objnam: "", // External Readable Object Identification .trn.objnam
reloricur: "", // Relevant Amount .trn.reloricur
reloriamt: "", // Relevant Amount for Release in Original Currency .trn.reloriamt
relflg: "", // Release Status of Transaction .trn.relflg
usr: "", // Responsible .trn.usr
usg: "", // Responsible Group .trn.usg
relreq: "", // Signatures Required/Obtained .trn.relreq
relres: "", // Applied Signatures .trn.relres
cortrninr: "", // Based on Ident No. .trn.cortrninr
exedat: "", // Execution Date .trn.exedat
inftxt: "", // Infotext .trn.inftxt
infdsp: "", // Infoflag .trn.infdsp
inifrm: "",
},
wfmmod: {
wfs: {
objnam: "", // External Readable Object Identification .wfmmod.wfs.objnam
objtyp: "", // Table Used to Store Associated Object .wfmmod.wfs.objtyp
objinr: "", // Object .wfmmod.wfs.objinr
},
},
docimm: {
prtswtpblk: "", // XMLPanel prtswtp的内置block .docimm.prtswtpblk
xmldocblk: "", // XMLPanel xmldoc的内置block .docimm.xmldocblk
prtswtrpblk: "", // XMLPanel prtswtrp的内置block .docimm.prtswtrpblk
docbol: {
prtpblk: "", // XMLPanel prtp的内置block .docimm.docbol.prtpblk
},
},
pageId: "", // ctx的key
searchAllUsers: ""
}
}
}
\ 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-form class="m-table-search-form" ref="paramsForm" label-position="right" label-width="110px"
size="small">
<el-row>
<c-col :span="24" style="">
<c-col :span="8">
<el-form-item label="业务编号" prop="trncorco.ownref" style="width: 100%">
<c-input v-model="model.trncorco.ownref" maxlength="16" placeholder="请输入业务编号"></c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="创建时间" style="width: 100%" prop="trncorco.inidatfro">
<c-col :span="11">
<c-date-picker type="date" v-model="model.trncorco.inidatfro" style="width: 100%" placeholder="请选择创建时间">
</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.trncorco.inidattil" style="width: 100%" placeholder="请选择创建时间">
</c-date-picker>
</c-col>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="经办柜员" prop="usrcon" style="width: 100%">
<c-select v-model="model.usrcon" style="width: 100%" placeholder="请选择经办柜员">
<el-option v-for="item in codes.usrsort" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</c-select>
</el-form-item>
</c-col>
</c-col>
</el-row>
<!--
<c-col :span="12">
<el-form-item label="Drag Drop Sender">
<c-input v-model="model.atpget.sdamod.dadsnd" placeholder="请输入Drag Drop Sender"></c-input>
</el-form-item>
</c-col>
-->
<el-row>
<c-col :span="24" style="">
<c-col :span="8">
<el-form-item label="业务状态" prop="trncorco.relflg" style="width: 100%">
<c-select v-model="model.trncorco.relflg" style="width: 100%" placeholder="请选择业务状态">
<el-option v-for="item in relflgCodes" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="业务机构" prop="bchcon" style="width: 100%">
<c-select v-model="model.bchcon" style="width: 100%" placeholder="请选择业务机构">
<el-option v-for="item in codes.bchtyp" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</c-select>
</el-form-item>
</c-col>
<!--
<c-col :span="12">
<el-form-item label="and">
</el-form-item>
</c-col> -->
<c-col :span="8">
<el-form-item label="交易代码" prop="atp.cod" style="width: 100%">
<c-col :span="24">
<c-col :span="20">
<c-input v-model="model.atp.cod" maxlength="6" style="width: 95%" placeholder="请输入交易代码"
@keyup.enter.native="showGridPromptDialog('findAtpCod')"></c-input>
</c-col>
<!-- <c-input v-model="model.atpget.sdamod.seainf" style="width:10%" placeholder="i"></c-input> -->
<c-col :span="4">
<c-button size="small" style="width:100%;margin-left:0" type="primary" @click="onSeainf"
icon="el-icon-search"></c-button>
</c-col>
</c-col>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24" style="">
<c-col :span="8">
<el-form-item label="业务标志" prop="trncorco.dflg" style="width: 100%">
<c-select v-model="model.trncorco.dflg" style="width: 100%" placeholder="请选择业务标志">
<el-option v-for="item in codes.dflg" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="交易名称" prop="atptxt" style="width: 100%">
<c-input v-model="model.atptxt" maxlength="37" placeholder="请输入交易名称"></c-input>
</el-form-item>
</c-col>
<c-col :span="8" style="text-align:right">
<el-button size="small" @click="handleReset">重置</el-button>
<el-button type="primary" icon="el-icon-search" size="small" @click="handleSearch">查询</el-button>
</c-col>
</c-col>
</el-row>
</el-form>
<c-col :span="24" style="">
<div style="border-bottom: 10px solid rgb(232, 232, 232)">
</div>
</c-col>
<el-row>
<c-col :span="24" style="">
<c-istream-table :list="stmData.data" :columns="stmData.columns" style="width:100%" :showButtonFlg="true">
<el-table-column fixed="right" prop="op" label="操作" width="140px">
<template slot="header">
<c-col :span="11" style="text-align:center"><span>操作</span></c-col>
<!-- <c-col :span="12" style="text-align:right"><c-button icon="el-icon-s-tools"></c-button></c-col> -->
</template>
<template slot-scope="scope">
<c-button style="margin-left: 0" size="small" @click="onWaitDetail(scope.$index,scope.row)">
详情
</c-button>
<c-button style="margin-left: 5px" size="small" type="primary" @click="onHandle(scope.$index,scope.row)">
处理
</c-button>
<!-- <c-button
style="margin-left: 0"
size="small"
type="primary"
@click="onRelrow(scope.$index)"
>
复核
</c-button> -->
</template>
</el-table-column>
</c-istream-table>
</c-col>
</el-row>
</div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "../event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess],
components: {},
data() {
return {
initdialog: false,
transactionStatus: {
busiNo: "",
modTimes: 0,
postCount: 0,
accCount: 0,
earnCount: 0,
earnAmt: 0,
},
stmData: {
columns: [
'10 1 "交易代码" 100',
'11 2 "业务编号" 150',
'17 3 "摘要信息" 300',
'12 4 "币种" 70',
'13 5 "金额" 100',
// '14 6 "创建时间" 170',
{ index: 14, position: 6, width: 140, pattern: 'time', label: '创建时间' },
'9 7 "签名要求" 100',
'2 8 "签名状态" 100',
'16 9 "经办柜员" 100',
// '0 10 "业务状态" 80',
{
index: 0, position: 10, width: 100, pattern: 'code', label: '业务状态', code: [{ label: "等待", value: "W" },
{ label: "已打回", value: "C" },
{ label: "已拾取", value: "P" },
{ label: "已拒绝", value: "N" },]
},
'15 11 "业务机构" 120',
],
data: [],
},
relrowDisabled: true,
relflgCodes: [],
Trnp0Visible: false,
// multipleSelection: [],
};
},
methods: {
// multipleSelect(val) {
// // TODO 根据Status判断按钮是否禁用
// this.relrowDisabled = !(val.length > 0);
// this.multipleSelection = val;
// },
// getSelectedData() {
// return this.multipleSelection.map((idx) => this.stmData.data[idx]);
// },
...Event,
getInidatfro(){
let datetime = new Date();
datetime = datetime.setDate(datetime.getDate() - 1);
this.model.trncorco.inidatfro = new Date(datetime);
}
},
created: function () {
this.getInidatfro();
},
async mounted() {
this.relflgCodes = [
{ label: "全部", value: "0" }, //待复核列表业务状态All
{ label: "已修改", value: "C" },
// { label: "Closed", value: "M" },
// { label: "Entered", value: "E" },
// { label: "External", value: "X" },
{ label: "已拾取", value: "P" },
{ label: "已拒绝", value: "N" },
{ label: "等待", value: "W" },
];
// await this.handleSearch()
// this.$store.commit("setTaskList", {key: "trnrel", val: this.stmData.data.length})
},
computed: {},
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eContainer">
<c-page title="">
<!-- <div class="eContainer"> -->
<c-content :height="120">
<div class="eibs-tab">
<el-form
:model="model"
ref="modelForm"
tokenKey="modelForm"
:validate-on-rule-change="false"
label-width="150px"
size="small"
>
<c-content>
<!-- <c-col :span="24" style="margin:0 0 5px 0"> -->
<c-col :span="12" style="height: 24px">
<el-form-item label="基本信息" class="messageLabel">
</el-form-item>
</c-col>
<c-col :span="11" style="text-align: right">
<c-button
size="small"
type="primary"
style="margin-left: 0"
@click="display(model.trn.inr)"
>交易快照</c-button
>
<c-button size="small" type="primary" style="margin-left: 0"
>智能提示</c-button
>
<c-button
size="small"
@click="exit"
type="primary"
style="margin-left: 0"
>返回</c-button
>
</c-col>
<!-- </c-col> -->
<c-col :span="24" style="height: 10px; margin-bottom: 10px">
<el-divider></el-divider>
</c-col>
<!-- -------------------基础信息------------------- -->
<!-- ========================= Left ========================= -->
<c-col :span="11">
<c-col :span="24">
<c-col :span="22">
<el-form-item label="业务编号">
<c-input v-model="model.trn.ownref" maxlength="16" disabled placeholder="请输入业务编号"></c-input>
</el-form-item>
</c-col>
<c-col :span="2" style="text-align: right">
<c-button
style="margin:0;padding: 0 14px;"
size="small"
type="primary"
>
<i class="el-icon-info" style="font-size:15px"></i>
</c-button>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="22">
<el-form-item label="交易代码">
<c-input v-model="model.recpan.atp.cod" maxlength="6" disabled placeholder="请输入交易代码"></c-input>
</el-form-item>
</c-col>
<c-col :span="2" style="text-align: right">
<c-button
style="margin:0;padding: 0 14px;"
size="small"
type="primary"
>
<i class="el-icon-info" style="font-size:15px"></i>
</c-button>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="13">
<el-form-item label="相关金额">
<c-input
v-model="model.trn.reloricur"
maxlength="3"
disabled
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="11">
<el-form-item label="" label-width="8px">
<c-input
v-model="model.trn.reloriamt"
disabled
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="13">
<el-form-item label="经办柜员">
<c-input
v-model="model.trn.usr"
maxlength="8"
disabled
placeholder="请输入经办柜员"
></c-input>
</el-form-item>
</c-col>
<c-col :span="11">
<el-form-item label-width="40%" label="责任小组">
<!-- <c-input v-model="model.trn.usg" maxlength="6" disabled placeholder="请输入责任小组"></c-input> -->
<el-select
v-model="model.trn.usg"
style="width: 100%"
disabled
>
<el-option
v-for="item in codes.usgtxt"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="24">
<el-form-item label="根据识别号">
<c-input
v-model="model.trn.cortrninr"
maxlength="8"
disabled
placeholder="请输入根据识别号"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="执行日期">
<c-date-picker
type="date"
v-model="model.trn.exedat"
style="width: 100%"
disabled
placeholder="请选择执行日期"
></c-date-picker>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="22">
<el-form-item label="信息文本">
<c-input
type="textarea"
v-model="model.trn.inftxt"
maxlength="65"
:rows="3"
show-word-limit
placeholder="请输入信息文本"
></c-input>
</el-form-item>
</c-col>
<c-col :span="2" style="text-align: right">
<c-button
style="margin: 0; padding: 0 12px"
size="small"
icon="el-icon-search"
type="primary"
></c-button>
</c-col>
</c-col>
</c-col>
<!-- ========================= Right ========================= -->
<c-col :span="11" :offset="1">
<c-col :span="24">
<c-col :span="22">
<el-form-item label="TRN主键">
<c-input v-model="model.trn.inr" disabled placeholder="请输入TRN主键"></c-input>
</el-form-item>
</c-col>
<c-col :span="2" style="text-align: right">
<c-button
style="margin:0;padding: 0 14px;"
size="small"
type="primary"
>
<i class="el-icon-info" style="font-size:15px"></i>
</c-button>
</c-col>
</c-col>
<c-col :span="24">
<el-form-item label="交易代码">
<c-input
v-model="this.atptxt"
maxlength="6"
disabled
placeholder="请输入交易代码"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="摘要信息">
<c-input
v-model="model.trn.objnam"
maxlength="40"
disabled
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="发布状态">
<el-select
v-model="model.trn.relflg"
style="width: 100%"
disabled
>
<el-option
v-for="item in codes.relstaEN"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</c-col>
<c-col :span="24">
<c-col :span="24">
<el-form-item label="经办柜员">
<c-input
v-model="model.recpan.cretrs.usr"
maxlength="8"
disabled
placeholder="请输入经办人"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="时间戳">
<c-input
v-model="model.recpan.cretrs.dattim"
disabled
placeholder="请输入时间戳"
></c-input>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<el-form-item label="信息标志">
<el-select v-model="model.trn.infdsp" style="width: 100%">
<el-option
v-for="item in codes.infdsp"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="发送退回至">
<c-input
v-model="model.recpan.usr.extkey"
disabled
style="width: 100%"
placeholder=""
>
</c-input>
</el-form-item>
</c-col>
</c-col>
<!-- -------------------document------------------- -->
<c-col :span="24" style="height: 24px">
<el-form-item label="面函/报文" class="messageLabel">
</el-form-item>
</c-col>
<c-col :span="24" style="height: 0px; margin-top: -5px">
<el-divider></el-divider>
</c-col>
<c-col :span="24">
<c-istream-table
:list="documentsData.data"
:columns="documentsData.columns"
>
<el-table-column label="介质" width="110px">
<template slot-scope="scope">
<el-form-item
label-width="0"
:prop="'trnmod.trndoc.doceot.' + scope.$index + '.cortyp'"
>
<c-select
v-model="scope.row.cortyp"
style="width: 100%"
disabled
placeholder="请选择"
>
<el-option
v-for="item in codes.doceotCortyp"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="报文格式" width="150px">
<template slot-scope="scope">
<c-select
v-model="scope.row.docsnf"
style="width: 100%"
placeholder="请选择"
@change="executeDefault('trnmod.trndoc.doccur.docsnf')"
>
<el-option
v-for="item in codes.docsnf"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</template>
</el-table-column>
<el-table-column label="语言" width="150px">
<template slot-scope="scope">
<c-select
v-model="scope.row.docuil"
style="width: 100%"
placeholder="请选择"
>
<el-option
v-for="item in codes.uiltxt"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</template>
</el-table-column>
<el-table-column label="传送方式" width="110px">
<template slot-scope="scope">
<el-form-item
label-width="0"
:prop="'trnmod.trndoc.doceot.' + scope.$index + '.apf'"
>
<c-select
v-model="scope.row.apf"
disabled
style="width: 100%"
placeholder="请选择"
>
<el-option
v-for="item in codes.apftxt"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="发送份数" width="70">
<template slot-scope="scope">
<c-input
v-model="scope.row.apfcpy1"
:readonly="true"
style="width: 100%"
placeholder="请选择"
>
</c-input>
</template>
</el-table-column>
<el-table-column label="抄送份数" width="70">
<template slot-scope="scope">
<c-input
v-model="scope.row.apfcpy2"
style="width: 100%"
placeholder="请选择"
>
</c-input>
</template>
</el-table-column>
<el-table-column label="" width="110px">
<template slot-scope="scope">
<el-form-item
label-width="0"
:prop="'trnmod.trndoc.doceot.' + scope.$index + '.staflg'"
>
<c-select
v-model="scope.row.staflg"
style="width: 100%"
placeholder="请选择"
>
<el-option
v-for="item in codes.swttlx"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="操作" width="200px" fixed="right">
<template slot-scope="scope">
<c-button
type="primary"
size="small"
:disabled="
(scope.row.pandsc == 'MT799' &&
model.didgrp &&
model.didgrp.rec &&
model.didgrp.rec.elcflg == 'Y') ||
suppress
"
@click="show(scope.$index, scope.row)"
style="margin-right: 10px"
>预览</c-button
>
<c-button
size="small"
type="primary"
style="margin-left: 0"
@click="handleDetail(scope.row.index, scope.row)"
>详情</c-button
>
</template>
</el-table-column>
</c-istream-table>
</c-col>
<c-col :span="24" style="height: 24px; margin-top: 20px">
<el-form-item label="经办/复核" class="messageLabel">
</el-form-item>
</c-col>
<c-col :span="24" style="height: 0px; margin-top: -5px">
<el-divider></el-divider>
</c-col>
<c-col :span="24">
<!-- <c-input v-model="model.recpan.trsstm" placeholder="请输入Signatures"></c-input> -->
<c-col :span="24" :offset="0">
<c-istream-table
:list="SignaturesData.data"
:columns="SignaturesData.columns"
:paginationShow="false"
style="width: 100%"
>
<el-table-column label="行为" width="auto">
<template slot-scope="scope">
<span>{{ flg[scope.row.IDX] }}</span>
</template>
</el-table-column>
</c-istream-table>
</c-col>
</c-col>
<!-- -------------------workflow------------------- -->
<c-col :span="24" style="height: 24px; margin-top: 20px">
<el-form-item label="工作流服务" class="messageLabel">
</el-form-item>
</c-col>
<c-col :span="24" style="height: 0px; margin-top: -5px">
<el-divider></el-divider>
</c-col>
<c-col :span="24">
<c-col :span="24" :offset="0">
<c-istream-table
:list="stmData.data"
:columns="stmData.columns"
:paginationShow="false"
style="width: 100%"
>
</c-istream-table>
</c-col>
</c-col>
</c-content>
</el-form>
</div>
<!-- </div> -->
</c-content>
</c-page>
</div>
</template>
<script>
import Trnrel from "../model";
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "../event";
import DocUtils from "~/utils/DocUtils";
export default {
name: "InftrnpsDetail",
mixins: [commonProcess],
data() {
return {
model: new Trnrel().data,
documentsData: {
columns: [
// "1 1 \"类型\" 300 1 0:0 1 CORTYP",
// "2 2 \"外部密钥\" 300",
// "3 3 \"文档\" auto",
'1 4 "收报人" 90',
'2 5 "描述" 200',
],
data: [],
},
SignaturesData: {
columns: [
'1 2:1 "用户" 300',
// '2 3:1 "Date / Time" 300',
{
index: 2,
position: 3,
width: 300,
pattern: "time",
label: "日期/时间",
},
// '3 5:1 "Action" 400',
'4 1:1 "类型" 300',
],
data: [],
},
codes: {
infdsp: CodeTable.infdsp,
flg: CodeTable.flg,
atptxt: CodeTable.atptxt,
relstaEN: CodeTable.relstaEN,
usgtxt: CodeTable.usgtxt,
wfetrssta: CodeTable.wfetrssta,
},
stmData: {
columns: [
'1 1 "编号" 100',
'2 2 "服务" 100',
// '3 3 "交易状态" 100',
{
index: 3,
position: 3,
width: 100,
pattern: "code",
label: "交易状态",
code: CodeTable.wfetrssta,
},
'4 4 "最新更新" 120',
'5 5 "重试" 100',
'6 6 "文本" 200',
'7 7 "相反文本" 200',
// '8 8 "Target Time" auto'
{
index: 8,
position: 8,
width: "auto",
pattern: "dateFormat",
label: "目标时间",
},
],
data: [],
},
flg: [],
atptxt: "",
relstaEN: "",
usgtxt: "",
};
},
mounted() {
this.loadData();
},
methods: {
...Event,
async handleDetail(index, row) {
const params = {
index: row.idx,
};
let rtnmsg = await Api.post(
`${this.requestPrefix}/executeDocpanDetail`,
this.wrapper(params)
);
if (rtnmsg.respCode == SUCCESS) {
this.title = row.pandsc;
(this.centerDialogVisible = true), this.updateModel(rtnmsg.data);
this.dialog = this.model.trnmod.trndoc.doceot[row.idx];
this.index = row.idx;
}
},
loadData() {
// const { data } = this.$route.query
this.model = JSON.parse(sessionStorage.getItem("InftrnpsDetail"));
this.documentsData.data = this.model.recpan.smhstm.rows;
this.SignaturesData.data = this.model.recpan.trsstm.rows;
this.stmData.data = this.model.recpan.wfestm.rows;
this.flg = this.ArrCalCode(this.SignaturesData.data, this.codes.flg, 3);
this.atptxt = this.strCalCode(
this.model.recpan.atp.cod,
this.codes.atptxt
);
this.relstaEN = this.strCalCode(
this.model.trn.relflg,
this.codes.relstaEN
);
this.usgtxt = this.strCalCode(this.model.trn.usg, this.codes.usgtxt);
},
strCalCode(str, code) {
var result = "";
for (let i = 0; i < code.length; i++) {
if (code[i].value === code) {
result = code[i].label;
continue;
}
}
if (result === "") {
return str;
} else {
return result;
}
},
ArrCalCode(table, code, index) {
var result = [];
for (let i = 0; i < table.length; i++) {
const d = table[i];
const items = d.split("\t");
result[i] = items[index];
for (let j = 0; j < code.length; j++) {
if (code[j].value === result[i]) {
result[i] = code[j].label;
continue;
}
}
}
return result;
},
exit() {
this.$store.dispatch("TagsView/delView", this.$route);
this.$router.history.push("/taskList");
},
async show(idx, row) {
var params = {
selDst: "recpan.smhstm",
selIds: [idx + 1],
selBtnId: "A",
};
let rtnmsg = await Api.post(
`/business/trnrel/executeRule/recpan.smhstm`,
this.wrapper(params)
);
if (rtnmsg.respCode == SUCCESS) {
this.title = "面函";
let viewurl = "/#/docpan/show";
let XMLdata;
if (row.类型 == "LET") {
window.sessionStorage.docTXT = "";
window.sessionStorage.docXML = rtnmsg.data.docimm_xmldocblk;
} else if (row.pandsc == "MT799") {
window.sessionStorage.docTXT = "";
XMLdata = rtnmsg.data.litbenl1blk;
}
window.open(
viewurl,
"newwindow",
"height=1200,width=800,top=100,left=100,toolbar=no,resizable=no,menubar=no,location=no, status=no"
);
} else {
const h = this.$createElement;
const msg = rtnmsg.respMsg || "请求执行失败!";
this.$notify.error({
title: "错误",
message: h("p", { style: "word-break:break-all;" }, msg),
});
}
},
},
};
</script>
<style scoped>
.el-col >>> .el-divider--horizontal {
margin-top: 10px;
}
.formItemLabel >>> .el-form-item__label {
text-align: left;
font-weight: bold;
}
.el-col >>> .el-divider--horizontal {
margin-top: 5px;
}
.messageLabel >>> .el-form-item__label {
text-align: left;
font-weight: bold;
font-size: 15px;
color:#1561E0;
width: auto!important;
}
</style>
\ No newline at end of file
<template>
<div class="eContainer-search">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
tokenKey="modelForm"
:validate-on-rule-change="false"
label-width="120px"
size="small"
>
<!-- <el-tabs ref="elment" type="card" @tab-click="tabClick">
<el-tab-pane label="复核夹查询"> -->
<c-content>
<m-inftrnps :model="model" :codes="codes" ref="inftrnps" />
</c-content>
<!-- </el-tab-pane>
</el-tabs> -->
<c-grid-ety-prompt-dialog
ref="etyDialog"
:promptData="promptData"
v-on:select-ety="selectEty">
</c-grid-ety-prompt-dialog>
</el-form>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Trnrel from "../model";
import commonProcess from "~/mixin/commonProcess";
import Utils from "~/utils/index";
import Inftrnps from "./Inftrnps";
export default {
name: "Trnrel",
components: {
"m-inftrnps": Inftrnps,
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
// computed: {},
provide() {
return {
root: this,
};
},
data() {
return {
trnName: "trnrel",
model: new Trnrel().data,
rules: null,
codes: {
dflg: CodeTable.dflg,
bchtyp: CodeTable.bchtyp,
usrsort: CodeTable.usrsort,
},
// reload:false,
};
},
created() {
const that = this;
that.init().then((res) => {
//TODO 处理数据逻辑
that.model = Utils.copyValueFromVO(that.model, res.data);
// that.$refs.inftrnps.stmData.columns=res.data.trncorco_trnstm.rows
this.$refs.inftrnps.handleSearch();
});
},
methods: {
},
computed: {
reload: function(){
return this.$store.state.Status.loading.freshReview;
}
},
watch:{
reload: function(val, oldVal){
if(val){
const that = this;
that.init(that.model).then((res) => {
//TODO 处理数据逻辑
that.model = Utils.copyValueFromVO(that.model, res.data);
// that.$refs.inftrnps.stmData.columns=res.data.trncorco_trnstm.rows
this.$refs.inftrnps.handleSearch();
//刷新页面后重置刷新状态为不刷新
this.$store.commit("setLoadingFreshReview", false)
});
}
},
},
};
</script>
<style>
</style>
\ No newline at end of file
......@@ -138,7 +138,8 @@ export default {
},
async executeRule(rulePath, params, delayCb) {
const loading = this.loading("正在请求数据")
let rtnmsg = await Api.post(this.requestPrefix + "/executeRule/" + rulePath, this.wrapper(params, delayCb))
//调试时,配合后端修改的请求地址
let rtnmsg = await Api.post(this.requestPrefix + "/" + rulePath, this.wrapper(params, delayCb))
if (rtnmsg.respCode == SUCCESS) {
this.updateValueSet(rtnmsg.codeSet)
this.showBackendErrors(rtnmsg.fieldErrors)
......
......@@ -86,7 +86,8 @@
<script>
import Sptsel from "~/views/Business/Sptsel";
import Sptbrk from "~/views/Business/Sptsel/Sptbrk";
import Trnrel from "~/views/Business/Trnrel";
//import Trnrel from "~/views/Business/Trnrel";
import Trnrel from "~/business/trnrel/views";
import Trnfnd from "~/views/Business/Trnrel/Trnfnd";
import Diasel from "~/views/Business/Diasel";
import Bopsel from "~/views/Business/Bopsel";
......
......@@ -71,7 +71,7 @@ module.exports = {
}
},
'/gjjs/service/': {
target: 'http://127.0.0.1:9999',
target: 'http://192.168.0.70:9999',
changeOrigin: true,
pathRewrite: {
'^/gjjs/service': '/gjjs/service'
......
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