Commit 7cdd8537 by WH

BETSND交易前端清理

parent 6181926e
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.bedgrp.prb.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bedgrp.prb));
}
if (model.bedgrp.iss.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bedgrp.iss));
}
if (model.bedgrp.apl.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bedgrp.apl));
}
if (model.bedgrp.oth.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bedgrp.oth));
}
if (model.bedgrp.doc.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bedgrp.doc));
}
if (model.rmbclm.acwacw.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.rmbclm.acwacw));
}
if (model.rmbclm.rmbrmb.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.rmbclm.rmbrmb));
}
if (model.rmbclm.bebbeb.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.rmbclm.bebbeb));
}
let dataObj = {
rec: {
objtyp: 'BED',
ownref: model.bedgrp.rec.ownref,
predat: model.bedgrp.rec.predat,
rcvdat: model.bedgrp.rec.rcvdat,
doctypcod: model.bedgrp.rec.doctypcod,
docsta: model.bedgrp.rec.docsta,
payrol: model.bedgrp.rec.payrol,
matdat: model.bedgrp.rec.matdat,
nam: model.bedgrp.rec.nam,
docprbrol: model.bedgrp.rec.docprbrol,
advdocflg: model.bedgrp.rec.advdocflg,
},
cbsMap: {
MAX: model.bedgrp.cbs.max,
OPN1: model.bedgrp.cbs.opn1,
// MAC: model.bedgrp.cbs.mac,
// MAC2: model.bedgrp.cbs.mac2,
OPN2: model.bedgrp.cbs.opn2,
// CNF: model.bedgrp.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,
liaall: model.liaall,
liaccv: model.liaccv,
};
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
},
buildDocpan (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
};
return params
},
buildCcvpan (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
},
buildLimitbody (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'BED',
objinr: model.bedgrp.rec.inr,
ownref: model.bedgrp.rec.ownref,
},
};
return params
},
buildDoctre (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'BED',
objinr: model.bedgrp.rec.inr,
ownref: model.bedgrp.rec.ownref,
},
};
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 limitbody from '~/components/business/limitbody/event';
import doctre from '~/components/business/doctre/event';
import Utils from "~/utils"
export default {
mixins: [commonFunctions],
methods: {
...setmod,
...glentry,
...engp,
...docpan,
...ccvpan,
...limitbody,
...doctre,
async init () {
const params = {
spt: JSON.parse(localStorage.getItem('row_' + this.trnName)),
trnmod: {
trn: JSON.parse(localStorage.getItem('review_'+this.trnName))
},
}
if ( typeof(this.$route.query.inr) == 'string'){
params.spt = null
params.trnmod.trn = null
}
const res = await Api.post('/service/betsnd/init', {
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
// brdinr: this.$route.query.inr,
brdgrp:{
rec:{
inr: this.$route.query.inr
}
},
});
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.buildCcvpan(this.model, this.trnName);
this.processLiaccv(ccvpanRequest);
break;
case 'engp':
let engpRequest = buildFn.buildEngp(this.model, this.trnName);
this.processLiaall(engpRequest);
break;
case 'setmod':
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.buildDocpan(this.model, this.trnName);
this.processTrndoc(docpanRequest);
break;
case 'glepan':
let glentryRequest = buildFn.buildGlentry(this.model, this.trnName);
this.processGlentry(glentryRequest);
break;
case 'limitbody':
let limitbodyRequest = buildFn.buildLimitbody(this.model, this.trnName);
this.processLimitbody(limitbodyRequest);
break;
case 'doctre':
let doctreRequest = buildFn.buildDoctre(this.model, this.trnName);
this.processDoctre(doctreRequest);
break;
default:
return;
}
},
// 点击获取按钮拉取当前key字段下的表单数据
queryFormData(key) {
console.log(key);
},
// 获取betdcr弹框表格数据
async queryGridEtyPromptDialogData(type, ptytyp) {
let params = {
userId: window.sessionStorage.userId || 'ZL',
ptytyp: ptytyp,
extkey: this.model.brdgrp[type.toLowerCase()].pts.extkey,
};
let res = await Api.post('/service/ptspta/list', params);
if (res.respCode == SUCCESS) {
this.root.$refs['etyDialog'].show = true;
this.root.promptData.data = res.data.ptaInfos;
this.root.promptData.type = type;
}
},
// 选中betdcr弹框表格的行数据
async selectGridEtyPromptData(row) {
let params = {
...row,
};
let res = await Api.post('/service/ptspta/fetch', params);
if (res.respCode == SUCCESS) {
this.$set(this.model.gidgrp, row.role.toLowerCase(), res.data);
}
},
// 业务信息=》基本信息=》支出目的
purposChange(key, value) {
this.handleChangeForm(key, value);
},
// 支出目的修改--联动保函开立类型
handleChangePurpos() {
this.queryHndtypCodeTableList(this.root.trnName);
},
buildLiaccv () {
let params = {
...buildFn.buildCommonData(this.model, this.trnName),
liaccvg: this.model.liaccv.liaccvg,
oldamt: this.model.liaccv.oldamt,
chgamt: this.model.liaccv.chgamt,
concur: this.model.liaccv.concur,
};
return params
},
// 公共组件setmod处理方式改变触发联动
changeSetmodModel (emitParams) {
let reqParams = {}
switch (emitParams.code) {
case 'processMethods':
reqParams = buildFn.buildSetglg(this.model, this.trnName);
this.calcPayDetail(reqParams)
break
case 'changeDsp':
let index = emitParams.index;
let setglgRequest = buildFn.buildSetglg(this.model, this.trnName);
setglgRequest.setglg = {setgll: emitParams.list};
this.setgllAccts(setglgRequest, index);
break
default:
return
}
}
},
};
import Pts from '~/components/business/commonModel/Pts';
import Pub from '~/components/business/commonModel/index.js';
export default class Betsnd {
constructor() {
this.data = {
bedsnd: {
snd732: '',
newbenadr: '',
usadet: '',
ingdsc: '',
addphr: ''
},
betp: {
furide: '',
adaflg: '',
folwupopt: '',
cre752flg: '',
docgrdm: {
docdsclab: "", // Label of document description .brtp.docgrdm.docdsclab
docgrd: "", //brtp.docgrdm.docgrd
},
},
rmbclmlate: '',
cnybop: {
cnylib: {
doccurdate: '',
stermtype: '',
sorgcode: '',
dcreditenddate: '',
dexchangeenddate: '',
sbankorgcode: '',
sbanktrano: '',
currencycode: '',
stranstype: '',
famt: '',
sforbankswiftbic: '',
spk: '',
denddate: '',
dexchangedate: '',
stransattr: '',
sforeigncountrycode: ''
},
fexchangeamt: '',
sbankname: '',
outflg: '',
cnyflg: '',
sforeignorgname: '',
traflg: '',
saddwordlib: '',
vouflg: '',
libflg: '',
sorgname: ''
},
ledgrp: {
rec: {
ownref: ''
},
cbs: {
opn1: {
cur: '',
amt: ''
}
}
},
rmbclmnow: '',
rmbclm: {
acwacw: {
pts: new Pts().data,
},
valdat: '',
rmbrmb: {
pts: new Pts().data,
},
bebbeb: {
pts: new Pts().data,
},
rmbrol: ''
},
ameadrflg: '',
bedgrp: {
blk: {
matper: '',
docdisflg: '',
setinsbe: '',
benref: '',
docdis: '',
comcon: '',
intdis: ''
},
rec: {
predat: '',
rcvdat: '',
approvcod: '',
ownref: '',
docsta: '',
payrol: '',
disdat: '',
doctypcod: '',
docrolflg: '',
lescom: '',
shpdat: '',
docrol: '',
matdat: '',
nam: '',
docprbrol: ''
},
prb: {
pts: new Pts().data,
},
cbs: {
opn1: {
cur: '',
amt: ''
},
max: {
cur: '',
amt: ''
}
},
iss: {
pts: new Pts().data,
},
apl: {
pts: new Pts().data,
},
oth: {
pts: new Pts().data,
},
doc: {
pts: new Pts().data,
}
},
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,
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="附言" name="coninfp">
<m-coninfp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from "../event";
import Coninfp from "~/views/Public/Coninfp";
export default {
components: {
"m-coninfp": Coninfp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["coninfp"],
};
},
methods: {},
created: function () { },
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="跨境人民币申报" name="cnyp1">
<m-cnyp1 :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="2106银行跟单结算及表外融资" name="libp" v-if="this.model.cnybop.libflg == '1'">
<!-- 2106银行跟单结算及表外融资 -->
<m-libp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from "../event";
import Cnyp1 from "./Cnyp1";
import Libp from "./Libp";
export default {
inject: ["root"],
components: {
"m-cnyp1": Cnyp1,
"m-libp": Libp,
},
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["cnyp1"],
};
},
methods: {},
created: function () { },
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eibs">
<!-- ======================= 左边 ========================= -->
<c-col :span="12" style="padding-right: 20px">
<!-- S0000042 : 是否报送跨境人民币2101表 -->
<c-col :span="18">
<el-form-item label="是否报送跨境人民币2101表" label-width=170px prop="cnybop.cnyflg">
<c-select disabled v-model="model.cnybop.cnyflg" style="width:70%" placeholder="请选择是否报送跨境人民币2101表"
:code="codes.cnyflg">
</c-select>
</el-form-item>
</c-col>
<!-- S0000045 : 是否报送跨境人民币2107表 -->
<c-col :span="18">
<el-form-item label="是否报送跨境人民币2107表" label-width=170px prop="cnybop.traflg">
<c-select disabled v-model="model.cnybop.traflg" style="width:70%" placeholder="请选择是否报送跨境人民币2107表"
:code="codes.traflg">
</c-select>
</el-form-item>
</c-col>
<!-- S0000077 : 是否报送跨境人民币2111表 -->
<c-col :span="18">
<el-form-item label="是否报送跨境人民币2111表" label-width=170px prop="cnybop.outflg">
<c-select disabled v-model="model.cnybop.outflg" style="width:70%" placeholder="请选择是否报送跨境人民币2111表"
:code="codes.outflg">
</c-select>
</el-form-item>
</c-col>
<!-- S0000113 : 是否报送跨境人民币2106表 -->
<c-col :span="18">
<el-form-item label="是否报送跨境人民币2106表" label-width=170px prop="cnybop.libflg">
<c-select v-model="model.cnybop.libflg" style="width:70%" placeholder="请选择是否报送跨境人民币2106表"
:code="codes.libflg"
:disabled="model.bedgrp.cbs.max.cur !== 'CNY'">
</c-select>
</el-form-item>
</c-col>
<!-- S0000142 : 是否报送跨境人民币2122表 -->
<c-col :span="18">
<el-form-item label="是否报送跨境人民币2122表" label-width=170px prop="cnybop.vouflg">
<c-select disabled v-model="model.cnybop.vouflg" style="width:70%" placeholder="请选择是否报送跨境人民币2122表"
:code="codes.vouflg">
</c-select>
</el-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
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">
<!-- SF000053 : 内部不符点 -->
<!--================================左边================================== -->
<c-col :span="12" style="padding-right: 20px;">
<c-col :span="24">
<c-col :span="21">
<el-form-item label="内部不符点" prop="bedgrp.blk.intdis">
<c-input type="textarea" v-model="model.bedgrp.blk.intdis" maxlength="1300" :rows="5" show-word-limit
placeholder="请输入不符点"></c-input>
</el-form-item>
</c-col>
<c-col :span="3">
<c-button size="small" type="primary" icon="el-icon-more" @click="
showGridPromptDialog(
'betp.intdis.buttxmsel',
null,
null,
{ TXT: 'bedgrp.blk.intdis' },
{ TXT: false },
'doxpDialog'
)
">
<!-- @click="onIntdisButtxmsel" -->
</c-button>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="21">
<el-form-item label="评论和结论" prop="bedgrp.blk.comcon">
<c-input type="textarea" v-model="model.bedgrp.blk.comcon" maxlength="1300" :rows="5" show-word-limit
placeholder="请输入评论内容"></c-input>
</el-form-item>
</c-col>
<c-col :span="3">
<c-button size="small" type="primary" icon="el-icon-more" @click="
showGridPromptDialog(
'betp.comcon.buttxmsel',
null,
null,
{ TXT: 'bedgrp.blk.comcon' },
{ TXT: false },
'doxpDialog'
)
">
<!-- @click="onComconButtxmsel" -->
</c-button>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="21">
<el-form-item label="结算指示" prop="bedgrp.blk.setinsbe">
<c-input type="textarea" v-model="model.bedgrp.blk.setinsbe" maxlength="390" :rows="5" show-word-limit
placeholder="请输入内容"></c-input>
</el-form-item>
</c-col>
<c-col :span="3">
<c-button size="small" type="primary" icon="el-icon-more" @click="
showGridPromptDialog(
'betp.setinstxm.buttxmsel',
null,
null,
{ TXT: 'bedgrp.blk.setinsbe' },
{ TXT: false },
'doxpDialog'
)
">
<!-- @click="onSetinstxmButtxmsel" -->
</c-button>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="21">
<el-form-item label="不符点" prop="bedgrp.blk.docdis">
<c-input type="textarea" v-model="model.bedgrp.blk.docdis" maxlength="3500" :rows="5" show-word-limit
placeholder="请输入不符点" :disabled="model.bedgrp.blk.docdisflg == ''"></c-input>
</el-form-item>
</c-col>
<c-col :span="3">
<c-button size="small" type="primary" icon="el-icon-more" @click="
showGridPromptDialog(
'betp.docdis.buttxmsel',
null,
null,
{ TXT: 'bedgrp.blk.docdis' },
{ TXT: false },
'doxpDialog'
)
" :disabled="model.bedgrp.blk.docdisflg == ''">
<!-- @click="onDocdisButtxmsel" -->
</c-button>
</c-col>
</c-col>
</c-col>
<!--===========================右边============================== -->
<c-col :span="12" style="padding-left: 20px">
<c-col :span="24">
<c-col :span="12">
<el-form-item>
<c-checkbox v-model="model.bedgrp.blk.docdisflg" class="checkbox-left">不符点修改</c-checkbox>
</el-form-item>
</c-col>
<c-col :span="4" :offset="8">
<c-checkbox v-model="model.bedgrp.rec.approvcod" class="checkbox-left">已批准的单据</c-checkbox>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="12">
<el-form-item>
<c-checkbox v-model="model.bedsnd.snd732" disabled class="checkbox-left">创建清偿通知(MT 732)</c-checkbox>
</el-form-item>
</c-col>
<c-col :span="4" :offset="8">
<c-checkbox v-model="model.betp.cre752flg" class="checkbox-left" :disabled="model.betp.folwupopt != 'C'">MT752
</c-checkbox>
</c-col>
</c-col>
<!-- Futher Handing -->
<c-col :span="24">
<!-- Processing Options -->
<el-form-item label="进一步处理" prop="betp.folwupopt">
<c-select v-model="model.betp.folwupopt" style="width: 100%" placeholder="请选择内容" :code="codes.folwupopt"
disabled>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="进一步识别" prop="betp.furide">
<c-select v-model="model.betp.furide" style="width: 100%" placeholder="请选择" :code="codes.furide"
:disabled="model.betp.cre752flg == ''">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="通知日期" prop="bedgrp.rec.disdat">
<c-date-picker type="date" v-model="model.bedgrp.rec.disdat" style="width: 100%" placeholder="请选择"
:disabled="model.betp.cre752flg == ''"></c-date-picker>
</el-form-item>
</c-col>
<!-- S0000346 : 扣减金额 -->
<c-col :span="24">
<c-form-item label="扣减金额" prop="bedgrp.rec.lescom">
<c-input-currency v-model="model.bedgrp.rec.lescom" placeholder="请输入扣减金额"></c-input-currency>
</c-form-item>
</c-col>
<c-col :span="24" style="margin-top: 43px;">
<c-col :span="12">
<el-form-item>
<c-checkbox v-model="bedsndIngdsc" class="checkbox-left">忽略不符点</c-checkbox>
</el-form-item>
</c-col>
<c-col :span="4" :offset="8">
<c-checkbox v-model="model.rmbclmnow" class="checkbox-left" :disabled="model.rmbclmlate != ''">寄单并即期索汇
</c-checkbox>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="12">
<el-form-item>
<c-checkbox v-model="model.rmbclmlate" class="checkbox-left" :disabled="model.rmbclmnow != ''">寄单后再索汇
</c-checkbox>
</el-form-item>
</c-col>
<c-col :span="4" :offset="8">
<c-checkbox v-model="model.bedgrp.rec.docrolflg" class="checkbox-left">选择寄单行</c-checkbox>
</c-col>
</c-col>
<!-- SF000064 : Receiver of Documents -->
<c-col :span="24">
<el-form-item label="单据接收行" prop="bedgrp.rec.docrol">
<c-select v-model="model.bedgrp.rec.docrol" style="width: 100%" placeholder="请选择"
:disabled="model.bedgrp.rec.docrolflg == ''" :code="codes.rolall">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<c-ptap1 :model="model" :argadr="{
title: '',
grp: 'bedgrp',
rol: 'doc',
}":disabled1="
model.bedgrp.rec.docrol != 'OTH' || model.bedgrp.rec.docrolflg == ''
" :disabled="true">
</c-ptap1>
</c-col>
</c-col>
</div>
</template>
<script>
import event from "../event";
import Ptap1 from '~/views/Public/Ptap1'
export default {
components: {
'c-ptap1': Ptap1,
},
inject: ['root'],
props: ['model', 'codes'],
mixins: [event],
data() {
return {}
},
methods: {},
computed: {
bedsndIngdsc: {
get() {
return this.model.bedsnd.ingdsc != ''
},
set(val) {
this.model.bedsnd.ingdsc = val ? 'X' : ''
},
},
},
created: function () { },
}
</script>
<style>
</style>
<template>
<div class="eibs">
<!-- ======================= 左边 ========================= -->
<c-col :span="12" style="padding-right: 20px">
<c-col :span="24">
<el-form-item label="业务主键" prop="cnybop.cnylib.spk">
<c-input
disabled
v-model="model.cnybop.cnylib.spk"
maxlength="20"
placeholder="请输入业务主键"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="银行机构代码" prop="cnybop.cnylib.sbankorgcode">
<c-input
disabled
v-model="model.cnybop.cnylib.sbankorgcode"
maxlength="12"
placeholder="请输入银行机构代码"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="业务属性" prop="cnybop.cnylib.stransattr">
<c-select
v-model="model.cnybop.cnylib.stransattr"
style="width: 100%"
placeholder="请选择业务属性"
:code="codes.stransattr"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item
label="境外对手行代码"
prop="cnybop.cnylib.sforbankswiftbic"
>
<c-input
v-model="model.cnybop.cnylib.sforbankswiftbic"
maxlength="11"
placeholder="请输入境外对手行代码"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="境内企业机构代码" prop="cnybop.cnylib.sorgcode">
<c-input
v-model="model.cnybop.cnylib.sorgcode"
maxlength="18"
placeholder="请输入境内企业机构代码"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item
label="境外企业国别地区代码"
prop="cnybop.cnylib.sforeigncountrycode"
>
<c-fullbox>
<c-input
v-model="model.cnybop.cnylib.sforeigncountrycode"
maxlength="3"
placeholder="请输入境外企业国别地区代码"
></c-input>
<template slot="footer">
<!-- @click="showGridPromptDialog('cnybop.libcty.selbut1',null,null,{TXT:'cnybop.cnylib.sforeigncountrycode'},{TXT:false},'doxpDialog')" -->
<c-button
size="small"
type="primary"
icon="el-icon-search"
>
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="业务到期日" prop="cnybop.cnylib.denddate">
<c-date-picker
type="date"
v-model="model.cnybop.cnylib.denddate"
style="width: 100%"
placeholder="请选择业务到期日"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="币种" prop="cnybop.cnylib.currencycode">
<c-select
v-model="model.cnybop.cnylib.currencycode"
style="width: 100%"
placeholder="请选择币种"
:code="codes.currencycode"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="期限条件" prop="cnybop.cnylib.stermtype">
<c-select
v-model="model.cnybop.cnylib.stermtype"
style="width: 100%"
placeholder="请选择期限条件"
:code="codes.stermtype"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="承兑日期" prop="cnybop.cnylib.dexchangedate">
<c-date-picker
type="date"
v-model="model.cnybop.cnylib.dexchangedate"
style="width: 100%"
placeholder="请选择承兑日期"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="承兑到期日" prop="cnybop.cnylib.dexchangeenddate">
<c-date-picker
type="date"
v-model="model.cnybop.cnylib.dexchangeenddate"
style="width: 100%"
placeholder="请选择承兑到期日"
></c-date-picker>
</el-form-item>
</c-col>
</c-col>
<!-- ======================右边====================== -->
<c-col :span="12" style="padding-left: 20px">
<c-col :span="24">
<el-form-item label="银行业务编号" prop="cnybop.cnylib.sbanktrano">
<c-input
disabled
v-model="model.cnybop.cnylib.sbanktrano"
maxlength="22"
placeholder="请输入银行业务编号"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="银行机构名称" prop="cnybop.sbankname">
<c-input
disabled
v-model="model.cnybop.sbankname"
maxlength="80"
placeholder="请输入银行机构名称"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="业务类型" prop="cnybop.cnylib.stranstype">
<c-select
v-model="model.cnybop.cnylib.stranstype"
style="width: 100%"
placeholder="请选择业务类型"
:code="codes.stranstype"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="境内企业名称" prop="cnybop.sorgname">
<c-input
v-model="model.cnybop.sorgname"
maxlength="80"
placeholder="请输入境内企业名称"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="境外企业名称" prop="cnybop.sforeignorgname">
<c-input
v-model="model.cnybop.sforeignorgname"
maxlength="80"
placeholder="请输入境外企业名称"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="业务发生日期" prop="cnybop.cnylib.doccurdate">
<c-date-picker
type="date"
v-model="model.cnybop.cnylib.doccurdate"
style="width: 100%"
placeholder="请选择业务发生日期"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="信用证到期日" prop="cnybop.cnylib.dcreditenddate">
<c-date-picker
type="date"
v-model="model.cnybop.cnylib.dcreditenddate"
style="width: 100%"
placeholder="请选择信用证到期日"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="金额" prop="cnybop.cnylib.famt">
<c-input
v-model="model.cnybop.cnylib.famt"
placeholder="请输入金额"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="承兑金额" prop="cnybop.fexchangeamt">
<c-input
v-model="model.cnybop.fexchangeamt"
maxlength="20"
placeholder="请输入承兑金额"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="交易附言" prop="cnybop.saddwordlib">
<c-input
v-model="model.cnybop.saddwordlib"
maxlength="80"
placeholder="请输入交易附言"
></c-input>
</el-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
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-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="寄单" name="rgfp">
<m-rgfp :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="不符点/拒绝信息" name="dscins">
<m-dscins :model="model" :codes="codes" />
</el-collapse-item>
<!--rmbclm PD000128 Reimbursement Details -->
<el-collapse-item title="索汇详情" name="remp" v-if="model.rmbclmnow">
<m-remp :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="单据指示" name="rgfdet">
<m-rgfdet :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from "../event";
import Rgfp from "./Rgfp";
import Dscins from "./Dscins";
import Rgfdet from "./Rgfdet";
import Remp from "./Remp";
export default {
components: {
"m-rgfp": Rgfp,
"m-dscins": Dscins,
"m-rgfdet": Rgfdet,
'm-remp': Remp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["rgfp"],
};
},
methods: {},
created: function () { },
};
</script>
<style>
.marginLable {
padding-left: 160px;
}
</style>
\ No newline at end of file
<template>
<div class="eibs">
<!-- ======================= 左边 ========================= -->
<c-col :span="12" style="padding-right: 20px">
<c-col :span="24">
<el-form-item label="偿付行" prop="rmbclm.rmbrol">
<c-select v-model="model.rmbclm.rmbrol" style="width: 100%" placeholder="请选择偿付行" :code="codes.rolall">
</c-select>
</el-form-item>
</c-col>
<!-- SF000021 : 偿付行 -->
<!-- SF000020 : 编号 -->
<c-col :span="24">
<!-- Reference for Address Optional -->
<c-form-item label="偿付行参考号" prop="rmbclm.rmbrmb.pts.ref">
<c-input v-model="model.rmbclm.rmbrmb.pts.ref" maxlength="16" placeholder="请输入编号"
:disabled="model.rmbclm.rmbrol == 'ISS' || model.rmbclm.rmbrol == 'AVB'">
</c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-ptap1 :model="model" :argadr="{
title: '',
grp: 'rmbclm',
rol: 'rmbrmb',
}"
:disabled1="model.rmbclm.rmbrol == 'ISS' || model.rmbclm.rmbrol == 'AVB'" :disabled="model.rmbclm.rmbrol != ''">
</c-ptap1>
</c-col>
<!-- SF000011 : Account with Bank -->
<c-col :span="24">
<c-form-item label="帐户行参考号" prop="rmbclm.acwacw.pts.ref">
<c-input v-model="model.rmbclm.acwacw.pts.ref" maxlength="16" placeholder="请输入">
</c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-ptap1 :model="model" :argadr="{
title: '',
grp: 'rmbclm',
rol: 'acwacw',
}" :disabled="model.rmbclm.acwacw.pts.extkey != ''">
</c-ptap1>
</c-col>
<!-- SF000016 : Beneficiary Bank -->
<!-- SF000019 : 编号 -->
<c-col :span="24">
<c-form-item label="受益人银行参考号" prop="rmbclm.bebbeb.pts.ref">
<c-input v-model="model.rmbclm.bebbeb.pts.ref" maxlength="16" placeholder="请输入受益人银行">
</c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-ptap1 :model="model" :argadr="{
title: '',
grp: 'rmbclm',
rol: 'bebbeb',
}"
:disabled="model.rmbclm.bebbeb.pts.extkey != ''">
</c-ptap1>
</c-col>
<!-- SG000133 : value date -->
<c-col :span="12">
<el-form-item label="起息日" prop="rmbclm.valdat">
<c-date-picker type="date" v-model="model.rmbclm.valdat" style="width: 100%" placeholder="请选择起息日">
</c-date-picker>
</el-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
import event from "../event";
import Ptap1 from "~/views/Public/Ptap1";
export default {
components: {
"c-ptap1": Ptap1,
},
inject: ['root'],
props: ['model', 'codes'],
mixins: [event],
data() {
return {}
},
methods: {},
created: function () { },
}
</script>
<style>
</style>
<template>
<div class="eibs">
<c-col :span="24">
<c-col :span="21">
<c-form-item label="远期单据指示" prop="bedsnd.usadet">
<c-input type="textarea" v-model="model.bedsnd.usadet" maxlength="650" :rows="8" show-word-limit
placeholder="请输入远期单据指示"></c-input>
</c-form-item>
</c-col>
<c-col :span="3">
<c-button size="small" type="primary" icon="el-icon-more"
@click="showGridPromptDialog('bedsnd.usatxt.buttxmsel', null, null, { TXT: 'bedsnd.usadet' }, { TXT: false }, 'doxpDialog')">
<!-- @click="onUsatxtButtxmsel" -->
</c-button>
</c-col>
</c-col>
<!-- SF000059 : 偿付条款 -->
<c-col :span="24">
<c-col :span="21">
<c-form-item label="偿付条款" prop="bedsnd.addphr">
<c-input type="textarea" v-model="model.bedsnd.addphr" maxlength="650" :rows="8" show-word-limit
placeholder="请输入偿付条款"></c-input>
</c-form-item>
</c-col>
<c-col :span="3">
<c-button size="small" type="primary" icon="el-icon-more"
@click="showGridPromptDialog('bedsnd.rgfphr.buttxmsel', null, null, { TXT: 'bedsnd.addphr' }, { TXT: false }, 'doxpDialog')">
<!-- @click="onRgfphrButtxmsel" -->
</c-button>
</c-col>
</c-col>
<!-- ======================= 左边 ========================= -->
<c-col :span="12" style="padding-right: 20px">
<!-- SG000345 : 新受益人地址 -->
<c-col :span="24">
<c-form-item label="新受益人地址" prop="bedsnd.newbenadr">
<c-input type="textarea" v-model="model.bedsnd.newbenadr" maxlength="175" :rows="5" show-word-limit
placeholder="请输入新受益人地址" :disabled="model.ameadrflg == ''"></c-input>
</c-form-item>
</c-col>
<!-- S0000347 : 新受益人编号 -->
<c-col :span="24">
<c-form-item label="新受益人参考号" prop="bedgrp.blk.benref">
<c-input type="textarea" v-model="model.bedgrp.blk.benref" maxlength="160" :rows="5" show-word-limit
placeholder="请输入新受益人编号"></c-input>
</c-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
import event from "../event";
export default {
inject: ['root'],
props: ['model', 'codes'],
mixins: [event],
data() {
return {}
},
methods: {},
created: function () { },
}
</script>
<style>
</style>
<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">
<el-tab-pane label="业务信息" name="ovwp">
<c-content>
<m-ovwp :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--limmod PD000001 统一授信 -->
<el-tab-pane label="统一授信" name="limitbody">
<c-content>
<m-limitbody :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000027 -->
<el-tab-pane label="表外记账" name="engp">
<c-content>
<!-- 表外记账 -->
<m-engp :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000027 -->
<el-tab-pane label="费用/账务" name="setmod">
<c-content>
<m-setmod
:model="model"
:codes="codes"
@changeSetmodModel="changeSetmodModel"
/>
</c-content>
</el-tab-pane>
<!--PD000027 -->
<el-tab-pane label="会计分录" name="glepan">
<c-content>
<m-glentry :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000510 -->
<el-tab-pane label="备查/附言" name="addbcb">
<c-content>
<m-addbcb :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane label="申报信息" name="cnyp">
<c-content>
<m-cnyp :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane label="报文/面函" name="docpan">
<c-content>
<m-docpan :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--trndoc PD000546 Attachments -->
<el-tab-pane label="附件" name="doctre">
<c-content>
<m-doctre :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<c-grid-ety-prompt-dialog ref="etyDialog" :promptData="promptData">
</c-grid-ety-prompt-dialog>
<c-grid-ety-prompt-dialog ref="doxpDialog" :isPty="false" :promptData="promptData" >
</c-grid-ety-prompt-dialog>
<c-function-btn :handleSubmit="handleSubmit" :handleCheck="handleCheck" :handleStash="handleStash">
</c-function-btn>
</c-page>
</div>
</template>
<script>
import CodeTable from '~/config/CodeTable'
import Betsnd from '../model'
import formRules from '../model/check'
import Ovwp from "./Ovwp";
import Limitbody from "~/components/business/limitbody/views";
import Engp from "~/components/business/engp/views";
import Setmod from "~/components/business/setmod/views";
import Glentry from "~/components/business/glentry/views";
import Addbcb from "./Addbcb";
import Cnyp from './Cnyp'
import Docpan from "~/components/business/docpan/views";
import Doctre from "~/components/business/doctre/views";
import event from "../event";
import operationFunc from "@/mixin/operationFunc";
export default {
name: 'Betsnd',
components: {
'm-ovwp': Ovwp,
'm-limitbody': Limitbody,
'm-engp': Engp,
'm-setmod': Setmod,
'm-glentry': Glentry,
'm-addbcb': Addbcb,
'm-cnyp': Cnyp,
'm-docpan': Docpan,
'm-doctre': Doctre,
},
provide() {
return {
root: this,
}
},
mixins: [event, operationFunc], // 里面包含了Default、Check等的公共处理
data() {
return {
tabVal: 'ovwp',
activeNames: ["engp"],
trnName: 'betsnd',
trnType: '',
model: new Betsnd().data,
rules: formRules,
codes: { ...CodeTable },
promptData: {
title: 'Select a Party',
columns: [
{
prop: 'ptyInr',
label: 'Party Number'
},
{
prop: 'inr',
label: 'Address Number'
},
{
prop: 'branch',
label: 'Branch Code'
},
{
prop: 'bchName',
label: 'Branch Name'
},
{
prop: 'adrName',
label: 'Address Name'
},
{
prop: 'adr1',
label: 'Address1'
},
{
prop: 'locCty',
label: 'City'
},
{
prop: 'locZip',
label: 'Zip'
},
{
prop: 'bicCode',
label: 'BIC'
}
],
data: []
},
}
},
methods: {},
mounted () {
this.init()
},
}
</script>
<style>
</style>
......@@ -63,5 +63,6 @@ const Business = [
{ path: 'letamc', component: () => import('~/business/letamc/views'), name: 'letamc', meta: { title: '出口信用证通知加保兑' } },
{ path: 'betdrv', component: () => import('~/business/betdrv/views'), name: 'betdrv', meta: { title: '出口信用证单据修改单据金额' } },
{ path: 'betset', component: () => import('~/business/betset/views'), name: 'betset', meta: { title: '出口信用证出口收汇' } },
{ path: 'betsnd', component: () => import('~/business/betsnd/views'), name: 'betsnd', meta: { title: '出口信用证寄单' } },
]
export default Business
\ No newline at end of file
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