Commit 2b376c90 by WF1020

gitcan修改

parent 246a34b7
export default {
buildPtspta (ptsptaObj) {
let pts = ptsptaObj.pts;
let ptspta = {
rol: pts.rol,
name: pts.nam,
ptyinr: pts.ptyinr,
ptainr: pts.ptainr,
extkey: pts.extkey,
dftdsp: pts.dftdsp,
dftcur: pts.dftcur,
dftact: pts.dftact,
dftfeecur: pts.dftfeecur,
dftactptainr: pts.dftactptainr,
glggrpflg: pts.glggrpflg,
adrblk: pts.adrblk
};
return ptspta;
},
buildCommonData (model, trnName) {
let ptsptaList = [];
if (model.gidgrp.apl.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.gidgrp.apl));
}
if (model.gidgrp.adv.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.gidgrp.adv));
}
if (model.gidgrp.ben.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.gidgrp.ben));
}
let dataObj = {
rec: {
objtyp: 'GID',
ownref: model.gidgrp.rec.ownref,
opndat: model.gidgrp.rec.opndat,
expdat: model.gidgrp.rec.expdat,
branchInr: model.gidgrp.rec.branchInr,
hndtyp: model.gidgrp.rec.hndtyp,
gartyp: model.gidgrp.rec.gartyp,
fingua: model.gidgrp.rec.fingua,
segtyp: model.gidgrp.ghd.segtyp,
fromflg: model.gidgrp.rec.fromflg,
othersno: model.gidgrp.rec.othersno,
sndto: model.gidgrp.rec.sndto,
swiftflg: model.gitp.swiftflg,
giduil: model.gidgrp.rec.giduil,
purpos: model.gidgrp.rec.purpos,
revflg: model.gidgrp.rec.revflg,
cnfsta: model.gidgrp.rec.cnfsta,
},
cbsMap: {
MAX: model.gidgrp.cbs.max,
OPN1: model.gidgrp.cbs.opn1,
MAC: model.gidgrp.cbs.mac,
MAC2: model.gidgrp.cbs.mac2,
OPC2: model.gidgrp.cbs.opc2,
CNF: model.gidgrp.cbs.cnf,
},
ptsList: ptsptaList,
transName: trnName,
userId: window.sessionStorage.userId ? window.sessionStorage.userId : 'ZL'
};
return dataObj
},
buildSetfeg (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaall: model.liaall,
liaccv: model.liaccv,
doceot: model.trnmod.trndoc.doceot,
};
return params
},
buildSetglg (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
setfeg: model.setmod.setfeg,
};
return params
},
buildGlentry (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaallg: model.liaall.liaallg,
setfog: model.setmod.setfog,
setfeg: model.setmod.setfeg,
setglg: model.setmod.setglg,
};
return params
},
builDengp (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaallg: model.liaall.liaallg,
};
return params
},
builDocpan (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
};
return params
},
builCcvpan (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaccvg: model.liaccv.liaccvg,
oldamt: model.liaccv.oldamt,
chgamt: model.liaccv.chgamt,
concur: model.liaccv.concur,
};
return params
},
// 公共组件setmod中dsp字段改变,触发联动时候的入参
buildSetgllAccts (model, trnName, setglg) {
let params = {
...this.buildCommonData(model, trnName),
setglg
};
return params
}
}
\ No newline at end of file
import Api from '~/service/Api';
import commonFunctions from '~/mixin/commonFunctions.js';
import buildFn from './buildCommons.js';
import setmod from '~/components/business/setmod/event';
import glentry from '~/components/business/glentry/event';
import engp from '~/components/business/engp/event';
import docpan from '~/components/business/docpan/event';
import ccvpan from '~/components/business/ccvpan/event';
import Utils from "~/utils"
export default {
mixins: [commonFunctions],
methods: {
...setmod,
...glentry,
...engp,
...docpan,
...ccvpan,
async init () {
const params = {
spt: {
bchname: "中国光大银行北京分行",
cxmflg: "N",
expdat: null,
fromflg: "",
gartyp: "A",
grtnam: "",
hndtyp: "OL",
inr: "00000582",
iscrotra: "",
liadat: null,
opndat: 1680537600000,
othersno: "",
ownref: "LG3500231016AA",
ownusr: "ZL",
segtyp: "01"
}
}
const res = await Api.post('/service/gitcan/init', {
...params,
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
});
if (!res.data) {
return
}
this.copyValueFromVoData(this.model, res.data)
this.copyValueFromVoData(this.model.setmod.setfeg, res.data.setfeg)
this.copyValueFromVoData(this.model.setmod.setfog, res.data.setfog)
this.copyValueFromVoData(this.model.setmod.setglg, res.data.setglg)
},
// 兼容处理在前端model中定义了字段,后端返回的数据中不存在字段的问题
copyValueFromVoData (model, data) {
let keysList = Object.keys(model)
keysList.map((key) => {
if (data[key]) {
if (Utils.typeOf(model[key]) === 'Object') {
this.copyValueFromVoData(model[key], data[key])
} else {
this.$set(model, key, data[key])
}
}
})
},
async tabClick(tab) {
if (this.isInDisplay) {
return;
}
let name = tab.name;
switch (name) {
case 'ccvpan':
let ccvpanRequest = buildFn.builCcvpan(this.model, this.trnName);
this.processLiaccv(ccvpanRequest);
break;
case 'engp':
let engpRequest = buildFn.builDengp(this.model, this.trnName);
this.processLiaall(engpRequest);
break;
case 'setpan':
let setfegRequest = buildFn.buildSetfeg(this.model, this.trnName);
// 此处利用回调是为了等setfeg的接口调用完成后才去获取setglg参数,由于setglg参数依赖于setfeg函数的返回值
this.processSetpan(setfegRequest, () => {
return buildFn.buildSetglg(this.model, this.trnName);
});
break;
case 'docpan':
let docpanRequest = buildFn.builDocpan(this.model, this.trnName);
this.processTrndoc(docpanRequest);
break;
case 'glepan':
let glentryRequest = buildFn.buildGlentry(this.model, this.trnName);
this.processGlentry(glentryRequest);
break;
default:
return;
}
},
}
}
\ No newline at end of file
import Pts from '~/model/Common/Pts';
import Pub from '~/model/Public';
export default class Gitcan {
constructor() {
this.data = {
gidgrp: {
blk: {
chaded: '',
amtspc: '',
accspc: '',
},
acb: {
pts: new Pts().data,
},
apl: {
pts: new Pts().data,
},
ben: {
pts: new Pts().data,
},
ctr: {
pts: new Pts().data,
},
iss: {
pts: new Pts().data,
},
rec: {
expdat: '',
purpos: '',
liadat: '',
ownref: '',
exptyp: '',
purcan: '',
nam: '',
gartyp: '',
purposin: '',
reddat: '',
redamt: '',
outcur: '',
redcur: '',
outamt: '',
},
cbs: {
opn1: {
cur: '',
amt: '',
},
max: {
cur: '',
amt: '',
},
},
},
autflg: '',
gitp0: {
gitp0s20: '',
acbp: {
ptsget: {
sdamod: {
seainf: '',
},
},
},
},
newref: '',
setmod: new Pub().data.Setmod,
mtabut: new Pub().data.Mtabut,
trnmod: new Pub().data.Trnmod,
liaall: new Pub().data.Liaall,
liaccv: new Pub().data.Liaccv,
docpan: new Pub().data.Docpan,
};
}
}
<template>
<div class="eibs">
<c-col :span="12" style="padding-right: 20px">
<el-row>
<c-col :span="24">
<el-form-item
label="保函编号"
prop="gidgrp.rec.ownref"
style="width: 100%"
>
<c-fullbox>
<c-input
v-model="model.gidgrp.rec.ownref"
maxlength="8"
placeholder="请输入"
disabled
></c-input>
<template slot="footer">
<c-button
style="margin: 0 0 0 10px; padding: 0 12px"
size="small"
type="primary"
>
<i class="el-icon-info"></i>
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
</el-row>
<el-row>
<c-col :span="11">
<c-form-item
label="保函币种和金额"
prop="gidgrp.cbs.max.cur"
previewLabel="信用证币种"
>
<c-input
v-model="model.gidgrp.cbs.max.cur"
maxlength="3"
disabled
placeholder="请输入"
></c-input>
</c-form-item>
</c-col>
<c-col :span="8">
<c-form-item
previewLabel="信用证金额"
style="text-align: left"
label-width="5px"
prop="gidgrp.cbs.max.amt"
>
<c-input-currency
v-model="model.gidgrp.cbs.max.amt"
placeholder="请输入信用证金额"
disabled
></c-input-currency>
</c-form-item>
</c-col>
<c-col :span="5">
<c-checkbox
v-model="model.gitp0.gitp0s20"
disabled
style="
margin-left: 18px;
height: 32px;
line-height: 32px;
padding-bottom: 2px;
"
>附加金额</c-checkbox
>
</c-col>
</el-row>
<el-row>
<c-col :span="11">
<c-form-item
label="保函余额"
prop="gidgrp.cbs.opn1.cur"
previewLabel="信用证币种"
>
<c-select
v-model="model.gidgrp.cbs.opn1.cur"
placeholder="请选择"
style="width: 100%"
disabled
>
<el-option
v-for="item in codes.cur"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</c-form-item>
</c-col>
<c-col :span="8">
<c-form-item
previewLabel="信用证金额"
style="text-align: left"
label-width="5px"
prop="gidgrp.cbs.opn1.amt"
>
<c-input-currency
v-model="model.gidgrp.cbs.opn1.amt"
placeholder="请输入信用证金额"
disabled
></c-input-currency>
</c-form-item>
</c-col>
</el-row>
<c-col :span="24">
<el-form-item label="接收目的" prop="gidgrp.rec.purposin">
<c-input
v-model="model.gidgrp.rec.purposin"
maxlength="16"
disabled
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="报文目的" prop="gidgrp.rec.purpos">
<c-select
v-model="model.gidgrp.rec.purpos"
disabled
style="width: 100%"
placeholder=""
:code="codes.purpos"
></c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="保函种类" prop="gidgrp.rec.gartyp">
<c-select
disabled
v-model="model.gidgrp.rec.gartyp"
style="width: 100%"
placeholder="请选择保函种类"
:code="codes.typgar2"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24" v-if="model.gidgrp.rec.liadat == 'X'">
<el-form-item label="我行责任敞口"> </el-form-item>
</c-col>
<c-col :span="24" v-if="model.gidgrp.rec.liadat != ''">
<el-form-item label="责任截至日" prop="gidgrp.rec.liadat">
<c-date-picker
type="date"
v-model="model.gidgrp.rec.liadat"
disabled
style="width: 100%"
placeholder="请选择责任截至日"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="13">
<el-form-item label="到期日" prop="gidgrp.rec.expdat">
<c-date-picker
type="date"
disabled
v-model="model.gidgrp.rec.expdat"
style="width: 100%"
placeholder="请选择"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="11">
<el-form-item label="" prop="gidgrp.rec.exptyp" label-width="5px">
<c-input
v-model="model.gidgrp.rec.exptyp"
disabled
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="注销原因" prop="gidgrp.rec.purcan">
<c-select
v-model="model.gidgrp.rec.purcan"
style="width: 100%"
placeholder="请选择注销原因"
:code="codes.purcan"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="新保函编号" prop="newref">
<c-input
v-model="model.newref"
:disabled="model.gidgrp.rec.purcan != 'RN'"
maxlength="16"
placeholder="请输入新保函编号"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item
label="自由文本和特殊条款"
prop="trnmod.swiadd.strinf"
>
<c-input
type="textarea"
v-model="model.trnmod.swiadd.strinf"
rows="6"
maxlength="35"
show-word-limit
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
</c-col>
<c-col :span="12" style="padding-left: 20px">
<c-col :span="24">
<el-form-item label="简略信息" prop="gidgrp.rec.nam">
<c-input
v-model="model.gidgrp.rec.nam"
disabled
maxlength="40"
placeholder="请输入简略信息"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="申请人" prop="gidgrp.apl.pts.nam">
<c-input
v-model="model.gidgrp.apl.pts.nam"
disabled
maxlength="40"
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="受益人" prop="gidgrp.ben.pts.nam">
<c-input
v-model="model.gidgrp.ben.pts.nam"
disabled
maxlength="40"
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="帐户行" prop="gidgrp.ctr.pts.nam">
<c-input
v-model="model.gidgrp.ctr.pts.nam"
disabled
maxlength="40"
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="开证行" prop="gidgrp.iss.pts.nam">
<c-input
v-model="model.gidgrp.iss.pts.nam"
disabled
maxlength="40"
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="身份验证" prop="autflg">
<c-select
v-model="model.autflg"
style="width: 100%"
:disabled="model.gidgrp.rec.purcan != 'RR'"
placeholder="请选择身份验证"
:code="codes.autflg"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24" :offset="6">
<c-checkbox
style="
margin-left: 15px;
height: 32px;
line-height: 32px;
padding-bottom: 2px;
"
v-model="model.mtabut.clsflgp"
checked
disabled
>关闭标志</c-checkbox
>
</c-col>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import event from '../event'
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {};
},
watch: {
"model.gidgrp.rec.purcan": function(){
if (this.model.gidgrp.rec.purcan == "RR") {
this.model.mtabut.clsflgp = "";
} else {
this.model.mtabut.clsflgp = "X";
}
},
},
methods: {
},
created: function () {
trntyp: [];
},
};
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<c-col :span="11">
<c-col :span="24">
<el-form-item label="缩减日期" prop="gidgrp.rec.reddat">
<c-date-picker
type="date"
v-model="model.gidgrp.rec.reddat"
style="width: 100%"
placeholder="请选择缩减日期"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="账户规范" prop="gidgrp.blk.accspc">
<c-input
v-model="model.gidgrp.blk.accspc"
maxlength="35"
placeholder="请输入账户规范"
></c-input>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="减少的金额" prop="gidgrp.rec.redcur">
<c-input
v-model="model.gidgrp.rec.redcur"
disabled
maxlength="3"
placeholder="请输入减少的金额"
></c-input>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item
label=""
prop="gidgrp.rec.redamt"
style="text-align: left"
label-width="5px"
>
<c-input
v-model="model.gidgrp.rec.redamt"
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="金额说明" prop="gidgrp.blk.amtspc">
<c-input
type="textarea"
v-model="model.gidgrp.blk.amtspc"
rows="4"
maxlength="35"
show-word-limit
placeholder="请输入金额说明"
></c-input>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="未付金额" prop="gidgrp.rec.outcur">
<c-input
v-model="model.gidgrp.rec.outcur"
disabled
maxlength="3"
placeholder="请输入未付金额"
></c-input>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item
label=""
prop="gidgrp.rec.outamt"
style="text-align: left"
label-width="5px"
>
<c-input
v-model="model.gidgrp.rec.outamt"
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="收费金额" prop="trnmod.swiadd.chacur">
<c-input
v-model="model.trnmod.swiadd.chacur"
disabled
maxlength="3"
placeholder="请输入收费金额"
></c-input>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item
label=""
prop="trnmod.swiadd.chaamt"
style="text-align: left"
label-width="5px"
>
<c-input
v-model="model.trnmod.swiadd.chaamt"
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="收费详情 " prop="gidgrp.blk.chaded">
<c-input
type="textarea"
v-model="model.gidgrp.blk.chaded"
rows="4"
maxlength="35"
show-word-limit
placeholder="请输入收费详情 "
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="gidgrp.acb.pts.extkey">
<c-fullbox>
<c-input
v-model="model.gidgrp.acb.pts.extkey"
maxlength="16"
placeholder="请输入"
@keyup.enter.native="
showGridPromptDialog(`gidgrp.acb.pts.extkey`)
"
>
</c-input>
<template slot="footer">
<c-button
v-model="model.gitp0.acbp.ptsget.sdamod.seainf"
style="margin: 0 10px 0 10px; padding: 0 12px"
size="small"
type="primary"
>
<i class="el-icon-info"></i>
</c-button>
<c-button
style="margin: 0 0"
size="small"
type="primary"
>
详情
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="地址" prop="gidgrp.acb.pts.adrblk">
<c-input
type="textarea"
v-model="model.gidgrp.acb.pts.adrblk"
rows="4"
maxlength="35"
show-word-limit
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import event from '../event'
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {};
},
methods: {},
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eibs">
<el-collapse v-model="activeNames">
<el-collapse-item title="注销" name="canp">
<m-canp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from '../event'
import canp from "./Canp";
export default {
components: {
"m-canp": canp,
},
inject: ['root'],
props:["model","codes"],
mixins: [event],
data(){
return {
activeNames: ["canp"],
}
},
methods:{},
created:function(){
}
}
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eContainer">
<c-page title="出口保函注销">
<el-form
:model="model"
:rules="rules"
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">
<!--PD000026 -->
<el-tab-pane label="业务信息" name="ovwp">
<c-content>
<m-ovwp :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane label="保证金" name="ccvpan">
<c-content>
<m-ccvpan :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane label="统一授信" name="limitbody">
<m-limitbody :model="model" :codes="codes" />
</el-tab-pane>
<el-tab-pane
label="Mt769"
name="Mt769p"
v-if="model.gidgrp.rec.purcan == 'RR'"
>
<m-mt769p :model="model" :codes="codes" />
</el-tab-pane>
<!--PD000027 -->
<el-tab-pane label="费用/账务" name="engp,setpan,glepan">
<c-content>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="表外记账" name="engp">
<!-- 表外记账 -->
<m-engp :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="结算" name="setpan">
<!-- 结算 -->
<m-setpan :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</c-content>
</el-tab-pane>
<!--PD000000 -->
<el-tab-pane label="备查/附言" name="coninfp">
<m-coninfp :model="model" :codes="codes" />
</el-tab-pane>
<!--PD000529 -->
<el-tab-pane label="报文/面函" name="docpan">
<m-docpan :model="model" :codes="codes" />
</el-tab-pane>
<!--PD000546 -->
<el-tab-pane label="附件信息" name="doctre">
<m-doctre :model="model" :codes="codes" />
</el-tab-pane>
<c-function-btn :handleSubmit="handleSubmit" :handleCheck="handleCheck" :handleStash="handleStash">
</c-function-btn>
<!--PD000001 -->
</c-tabs>
</el-form>
<c-grid-ety-prompt-dialog
ref="etyDialog"
:promptData="promptData"
v-on:select-ety="selectEty"
>
</c-grid-ety-prompt-dialog>
</c-page>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Gitcan from "../model";
import commonProcess from "~/mixin/commonProcess";
import commonFuncs from "~/mixin/commonFuncs";
import Limitbody from "~/views/Public/Limitbody";
import Engp from "~/components/business/engp/views";
import Doctre from "~/views/Public/Doctre";
import Ccvpan from "~/components/business/ccvpan/views";
import Docpan from "~/components/business/docpan/views";
import Setpan from "~/components/business/setmod/views";
import Coninfp from "~/views/Public/Coninfp";
import Mt769p from "./Mt769p";
import Ovwp from "./Ovwp";
import event from '../event'
export default {
name: "Gitcan",
components: {
"m-engp": Engp,
"m-setpan": Setpan,
"m-coninfp": Coninfp,
"m-docpan": Docpan,
"m-doctre": Doctre,
"m-limitbody": Limitbody,
"m-mt769p": Mt769p,
"m-ovwp": Ovwp,
"m-ccvpan":Ccvpan
},
provide() {
return {
root: this,
};
},
mixins: [commonProcess, commonFuncs,event], // 里面包含了Default、Check等的公共处理
data() {
return {
tabVal: "ovwp",
trnName: "gitcan",
model: new Gitcan().data,
rules: null,
codes: { ...CodeTable },
activeNames: ["engp"],
};
},
methods: {
},
mounted () {
this.init()
},
};
</script>
<style>
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment