Commit 0fb03d13 by WF1020

betset代码改造,litopn添加接口

parent a8013fc8
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.apl.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bedgrp.apl));
}
if (model.bedgrp.ben.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bedgrp.ben));
}
let dataObj = {
rec: {
objtyp: 'BED',
ownref: model.bedgrp.rec.ownref,
nam:model.bedgrp.rec.nam,
rcvdat:model.bedgrp.rec.rcvdat,
advdat:model.bedgrp.rec.advdat,
docflg:model.bedgrp.rec.docflg,
docsta:model.bedgrp.rec.docsta,
matdat:model.bedgrp.rec.matdat
},
cbsMap: {
MAX: model.bedgrp.cbs.max,
OPN1: model.bedgrp.cbs.opn1,
},
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.objinr,
ownref: model.bedgrp.rec.ownref,
},
};
return params
},
buildDoctre (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'BED',
objinr: model.bedgrp.rec.objinr,
ownref: model.bedgrp.rec.ownref,
swiftflg: model.gitp.swiftflg,
},
};
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/betset/init', {
...params,
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
bedgrp:{
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;
}
},
// 公共组件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
}
},
async handleSave() {
let result = await this.save();
if (result.respCode == SUCCESS && Object.keys(result.fieldErrors).length == 0) {
this.$notify({
title: "成功",
message: "保存成功",
type: "success",
});
this.$store.dispatch("TagsView/delView", this.$route)
this.$router.go(-1)
} else if (result.fieldErrors && Object.keys(result.fieldErrors).length > 0) {
const tab = this.showBackendErrors(result.fieldErrors)
if (tab) {
// tab切换之后,需出发tab-click的事件
this.tabClick(tab);
}
this.$notify({
title: "错误",
message: "检核失败!",
type: "error",
});
} else {
this.$notify({
title: "失败",
message: "保存失败",
type: "error",
});
}
},
// 选中gitopn弹框表格的行数据
async selectGridEtyPromptData(row) {
let params = {
...row,
};
let res = await Api.post('/service/ptspta/fetch', params);
if (res.respCode == SUCCESS) {
this.$set(this.model.bedgrp, row.role.toLowerCase(), res.data);
}
},
// 业务信息=》基本信息=》保函编号-----获取保函编号
async queryOwnref() {
let params = {
ptainr: this.model.bedgrp.apl.pts.ptainr,
businessType: 'LC',
tbl: 'LC',
}
}
},
};
import Pts from '~/components/business/commonModel/Pts';
import Pub from '~/components/business/commonModel/index.js';
export default class Betset {
constructor() {
this.data = {
setmod: {
redamt: '',
setamt: '',
doccur: '',
docamt: ''
},
cnybop: {
sbankname: '',
outflg: '',
cnyflg: '',
cnyinc: {
sorilevyno: '',
spayeeacct: '',
spayeeorgcode: '',
foffshoreamt: '',
cpayeeattr: '',
spayercountrycode: '',
fcustomsamt: '',
spayeracct: '',
frecordamt: '',
sbankorgcode: '',
sbanktrano: '',
fonshoreamt: '',
dpayeedate: '',
spayeecny: '',
spk: '',
ftotalamt: '',
iaccountperiod: '',
sbalancemode: '',
smidtransbank: '',
sswiftbic: '',
cpayeraccttyp: '',
fpayeeamt: '',
fprepayeeamt: '',
fnogoodsamt: ''
},
incscale: '',
spayername: '',
traflg: '',
saddword: '',
vouflg: '',
libflg: '',
spayeename: ''
},
aamset: {
utlamt: '',
utlamt2: ''
},
recpan: {
trnlst: ''
},
lendoc: {
actflg: '',
decnum: '',
vercerref: '',
account: ''
},
betp: {
adaflg: ''
},
ledgrp: {
rec: {
ownref: ''
},
cbs: {
opn1: {
cur: '',
amt: ''
}
}
},
bopmod: {
outchargeamt: '',
dbap: {
baspp: {
acp: ''
}
},
outchargeccy: '',
dbdp: {
baspp: {
acp: ''
}
},
ownextkey: '',
dbagrp: {
bas: {
actiontype: '',
custype: '',
buscode: '',
outchargeamt: '',
inchargeamt: '',
othacc: '',
custnm: '',
methods: '',
oppuser: '',
lcyacc: '',
inchargeccy: '',
rptno: '',
actiondesc: '',
txccy: '',
lcyamt: '',
outchargeccy: '',
ownextkey: '',
idcode: '',
fcyamt: '',
othamt: '',
exrate: '',
fcyacc: '',
txamt: '',
custcod: ''
}
},
acttyp: '',
dbdgrp: {
bas: {
actiontype: '',
custype: '',
buscode: '',
inchargeamt: '',
othacc: '',
custnm: '',
methods: '',
oppuser: '',
lcyacc: '',
inchargeccy: '',
rptno: '',
actiondesc: '',
txccy: '',
lcyamt: '',
ownextkey: '',
idcode: '',
fcyamt: '',
othamt: '',
exrate: '',
fcyacc: '',
txamt: '',
custcod: ''
}
},
szflg: '',
dbbmod: {
dbbp: {
baspp: {
cusnam: ''
}
}
},
basflg: ''
},
mtabut: {
coninf: {
usr: {
extkey: ''
}
},
clsflg: '',
paydat: ''
},
bpdgrp: {
rec: {
ffttyp: ''
}
},
bedgrp: {
prb: {
pts: new Pts().data,
},
apc: {
pts: new Pts().data,
},
ctc: {
pts: new Pts().data,
},
bec: {
pts: new Pts().data,
},
ben: {
pts: new Pts().data,
},
iss: {
pts: new Pts().data,
},
adv: {
pts: new Pts().data,
},
apl: {
pts: new Pts().data,
},
con: {
pts: new Pts().data,
},
ctr: {
pts: new Pts().data,
},
atb: {
pts: new Pts().data,
},
avc: {
pts: new Pts().data,
},
cnr: {
pts: new Pts().data,
},
at2: {
pts: new Pts().data,
},
rec: {
predat: '',
rcvdat: '',
doctypcod: '',
ownref: '',
docsta: '',
matdat: '',
nam: '',
frepayflg: ''
},
cbs: {
opn1: {
cur: ''
},
opn2: {
cur: ''
},
max: {
cur: '',
amt: ''
}
}
},
trnmod: {
trndoc: {
nar754: ''
}
},
bptbck: {
bptbckg: ''
},
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="addbcb">
<m-addbcb :model="model" :codes="codes" />
</el-collapse-item-->
<el-collapse-item title="附言" name="coninfp">
<m-coninfp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import Api from "~/service/Api";
import event from "../event";
import Utils from "~/utils";
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="wg">
<m-wg :model="model" :codes="codes" />
</el-collapse-item>
<!--dbap PD000000 涉外收入申报单-基础信息 -->
<el-collapse-item title="涉外收入申报单-基础信息" name="basp" v-if="model.bopmod.szflg === '1' && model.bopmod.basflg">
<m-basp :model="model" :codes="codes" />
</el-collapse-item>
<!--dbdp PD000000 境内收入申报单-基础信息 -->
<el-collapse-item title="境内收入申报单-基础信息" name="basp1" v-if="model.bopmod.szflg === '2' && model.bopmod.basflg">
<m-basp1 :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="跨境人民币申报" name="cnyp1">
<m-cnyp1 :model="model" :codes="codes" />
</el-collapse-item>
<!--cnybop PD000001 2101跨境收入信息 -->
<el-collapse-item title="2101跨境收入信息" name="incp" v-if="model.cnybop.cnyflg == '1'">
<m-incp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import event from "../event";
import Wg from "./Wg";
import Cnyp1 from "./Cnyp1";
import Incp from "./Incp";
import Basp from "./Basp"
import Basp1 from "./Basp1"
const tabNameToRulePathMapping = {
"basp": "bopmod.dbap.basp",
"basp1": "bopmod.dbdp.basp",
}
export default {
inject: ["root"],
components: {
"m-wg": Wg,
"m-cnyp1": Cnyp1,
"m-incp": Incp,
"m-basp" : Basp,
"m-basp1" : Basp1,
},
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["wg"],
};
},
methods: {
},
created: function () { },
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eibs">
<!-- left -->
<c-col :span="12" class="col-left">
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2101表" prop="cnybop.cnyflg">
<c-select
v-model="model.cnybop.cnyflg"
style="width: 100%"
placeholder="请选择是否报送跨境人民币2101表"
:disabled="model.bedgrp.cbs.max.cur !== 'CNY'"
>
<el-option
v-for="item in codes.cnyflg"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2107表" prop="cnybop.traflg">
<c-select
v-model="model.cnybop.traflg"
style="width: 100%"
placeholder="请选择是否报送跨境人民币2107表"
disabled
>
<el-option
v-for="item in codes.traflg"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2111表" prop="cnybop.outflg">
<c-select
v-model="model.cnybop.outflg"
style="width: 100%"
placeholder="请选择是否报送跨境人民币2111表"
disabled
>
<el-option
v-for="item in codes.outflg"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2106表" prop="cnybop.libflg">
<c-select
v-model="model.cnybop.libflg"
style="width: 100%"
placeholder="请选择是否报送跨境人民币2106表"
disabled
>
<el-option
v-for="item in codes.libflg"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2122表" prop="cnybop.vouflg">
<c-select
v-model="model.cnybop.vouflg"
style="width: 100%"
placeholder="请选择是否报送跨境人民币2122表"
disabled
>
<el-option
v-for="item in codes.vouflg"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
</c-col>
<!-- <m-incp v-show="model.cnybop.cnyflg == '1'" :model="model" :codes="codes" /> -->
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Incp from "./Incp";
import event from "../event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
components: {
"m-incp": Incp,
},
data() {
return {};
},
methods: { },
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eibs">
<!-- left -->
<c-col :span="12" style="padding-right: 20px;">
<c-col :span="24">
<el-form-item
label="验证证书编号"
prop="lendoc.vercerref"
>
<c-input
type="textarea"
v-model="model.lendoc.vercerref"
maxlength="20"
show-word-limit
placeholder="请输入验证证书编号"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="申报编号" prop="lendoc.decnum">
<c-input
v-model="model.lendoc.decnum"
maxlength="22"
placeholder="请输入申报编号"
></c-input>
</el-form-item>
</c-col>
</c-col>
<!-- right -->
<c-col :span="12" style="padding-left: 20px;">
<c-col :span="24">
<el-form-item label="ACT" prop="lendoc.account">
<c-fullbox>
<c-input
v-model="model.lendoc.account"
maxlength="3"
style="width: 100%"
placeholder="请输入"
:disabled="!actflg"
></c-input>
<template slot="footer">
<el-form-item label="" prop="lendoc.actflg">
<c-checkbox v-model="actflg" style="margin-left: 10px"
>输入金额</c-checkbox
>
</el-form-item>
</template>
</c-fullbox>
</el-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api";
import event from "../event";
import CodeTable from "~/config/CodeTable";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {};
},
computed: {
actflg: {
get() {
return this.model.lendoc.actflg === "X";
},
set(val) {
this.model.lendoc.actflg = val ? "X" : "";
},
},
},
methods: { },
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eibs">
<!--===============左 =================== -->
<c-col :span="12" class="col-left">
<c-col :span="24">
<el-form-item label="业务主键" prop="cnybop.cnylic.spk">
<c-input
disabled
v-model="model.cnybop.cnyinc.spk"
maxlength="20"
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.cnyinc.sbankorgcode">
<c-input
disabled
v-model="model.cnybop.cnyinc.sbankorgcode"
maxlength="12"
placeholder="请输入银行机构代码"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="收款人账号" prop="cnybop.cnyinc.spayeeacct">
<c-input v-model="model.cnybop.cnyinc.spayeeacct" maxlength="32" placeholder="请输入收款人账号"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="收款人名称" prop="cnybop.spayeename">
<c-input v-model="model.cnybop.spayeename" maxlength="80" placeholder="请输入收款人名称"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="收款人属性" prop="cnybop.cnyinc.cpayeeattr">
<c-select v-model="model.cnybop.cnyinc.cpayeeattr" style="width:100%" placeholder="请输入收款人属性" :code="codes.cpayeeattr">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="付款人名称" prop="cnybop.spayername">
<c-input v-model="model.cnybop.spayername" maxlength="80" placeholder="请输入付款人名称"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="结算方式" prop="cnybop.cnyinc.sbalancemode">
<c-select v-model="model.cnybop.cnyinc.sbalancemode" style="width:100%" placeholder="请输入结算方式" :code="codes.sbalancemode">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="清算(结算)帐户类型" prop="cnybop.cnyinc.cpayeraccttyp">
<c-select v-model="model.cnybop.cnyinc.cpayeraccttyp" style="width:100%" placeholder="请输入清算(结算)帐户类型" :code="codes.cpayeraccttyp">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="清算(结算)账户账号" prop="cnybop.cnyinc.spayeracct">
<c-input v-model="model.cnybop.cnyinc.spayeracct" maxlength="32" placeholder="请输入清算(结算)账户账号"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="收款日期" prop="cnybop.cnyinc.dpayeedate">
<c-date-picker type="date" v-model="model.cnybop.cnyinc.dpayeedate" style="width:100%" placeholder="请输入收款日期"></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="收款币种" prop="cnybop.cnyinc.spayeecny">
<c-select v-model="model.cnybop.cnyinc.spayeecny" style="width:100%" placeholder="请输入收款币种" :code="codes.curtxt1">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="原币金额" prop="cnybop.cnyinc.ftotalamt">
<c-input v-model="model.cnybop.cnyinc.ftotalamt" placeholder="请输入原币金额"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="货物贸易收款金额" prop="cnybop.cnyinc.fpayeeamt">
<c-input v-model="model.cnybop.cnyinc.fpayeeamt" placeholder="请输入货物贸易收款金额"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="已报关收款金额" prop="cnybop.cnyinc.fcustomsamt">
<c-input v-model="model.cnybop.cnyinc.fcustomsamt" placeholder="请输入已报关收款金额"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="已备案收款金额" prop="cnybop.cnyinc.frecordamt">
<c-input v-model="model.cnybop.cnyinc.frecordamt" placeholder="请输入已备案收款金额"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="交易附言" prop="cnybop.saddword">
<c-input v-model="model.cnybop.saddword" maxlength="80" placeholder="请输入交易附言"></c-input>
</c-form-item>
</c-col>
</c-col>
<!-- ===============右 ===========================-->
<c-col :span="12" class="col-right">
<c-col :span="24">
<el-form-item label="银行业务编号" prop="cnybop.cnyinc.sbanktrano">
<c-input
disabled
v-model="model.cnybop.cnyinc.sbanktrano"
maxlength="22"
placeholder="请输入银行业务编号"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="收款人机构代码或身份证件号码" prop="cnybop.cnyinc.spayeeorgcode">
<c-input v-model="model.cnybop.cnyinc.spayeeorgcode" maxlength="18" placeholder="请输入收款人机构代码或身份证件号码"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<el-form-item
label="付款人常驻国家地区代码"
prop="cnybop.cnyinc.spayercountrycode"
>
<c-fullbox>
<c-input
v-model="model.cnybop.cnyinc.spayercountrycode"
maxlength="3"
placeholder="请输入境外企业国别地区代码"
@keyup.enter.native="eventFunction('cnybop.cnyinc.spayercountrycode')"
></c-input>
<template slot="footer">
<!-- @click="showGridPromptDialog('cnybop.libcty.selbut1',null,null,{TXT:'cnybop.cnyinc.sforeigncountrycode'},{TXT:false},'doxpDialog')" -->
<c-button
size="small"
type="primary"
@click="showGridPromptDialog('cnybop.inccty.selbut1', null, null,{COD:
'cnybop.cnyinc.spayercountrycode'}, {TXT: false},'doxpDialog')"
>
?
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="付款行SWIFT BIC" prop="cnybop.cnyinc.sswiftbic">
<c-input v-model="model.cnybop.cnyinc.sswiftbic" maxlength="11" placeholder="请输入付款行SWIFT BIC"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="中间转汇行" prop="cnybop.cnyinc.smidtransbank">
<c-input v-model="model.cnybop.cnyinc.smidtransbank" maxlength="11" placeholder="请输入中间转汇行"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="预收款比例" prop="cnybop.incscale">
<c-input v-model="model.cnybop.incscale" maxlength="4" placeholder="请输入预收款比例"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="预收款金额" prop="cnybop.cnyinc.fprepayeeamt">
<c-input v-model="model.cnybop.cnyinc.fprepayeeamt" placeholder="请输入预收款金额"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="结帐期" prop="cnybop.cnyinc.iaccountperiod">
<c-input v-model="model.cnybop.cnyinc.iaccountperiod" placeholder="请输入结帐期"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="原申报号码" prop="cnybop.cnyinc.sorilevyno">
<c-input v-model="model.cnybop.cnyinc.sorilevyno" maxlength="24" placeholder="请输入原申报号码"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="无货物报关进出境物流货物金额" prop="cnybop.cnyinc.fonshoreamt">
<c-input v-model="model.cnybop.cnyinc.fonshoreamt" placeholder="请输入无货物报关进出境物流货物金额"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="无货物报关离岸转手买卖金额" prop="cnybop.cnyinc.foffshoreamt">
<c-input v-model="model.cnybop.cnyinc.foffshoreamt" placeholder="请输入无货物报关离岸转手买卖金额"></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="无货物报关其他金额" prop="cnybop.cnyinc.fnogoodsamt">
<c-input v-model="model.cnybop.cnyinc.fnogoodsamt" placeholder="请输入无货物报关其他金额"></c-input>
</c-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import event from "../event";
import CodeTable from "~/config/CodeTable"
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="setp">
<c-content>
<m-setp :model="model" :codes="codes" />
</c-content>
</el-collapse-item>
<el-collapse-item title="收账通知" name="docpan1">
<c-content>
<m-docpan1 :model="model" :codes="codes" />
</c-content>
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Setp from "./Setp"
import Docpan1 from "./Docpan1"
import event from "../event";
export default {
components:{
"m-setp" : Setp,
"m-docpan1" : Docpan1,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["setp"],
};
},
methods: { },
created:
function () {},
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eibs">
<!-- left -->
<c-col :span="12" style="padding-right: 20px">
<c-col :span="24">
<c-fullbox>
<el-form-item label="申报类型" prop="bopmod.szflg">
<c-select v-model="model.bopmod.szflg" style="width: 100%" placeholder="请选择申报类型"
>
<el-option v-for="item in codes.szflg" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</c-select>
</el-form-item>
<template slot="footer">
<el-form-item label="" prop="bopmod.basflg">
<c-checkbox v-model="basflg" style="margin-left: 10px"
:disabled="model.bopmod.szflg === '3' || model.bopmod.szflg === ''">基础数据</c-checkbox>
</el-form-item>
</template>
</c-fullbox>
</c-col>
<c-col :span="24">
<el-form-item label="款项来源" prop="bopmod.acttyp">
<c-select v-model="model.bopmod.acttyp" style="width: 100%" placeholder="请选择款项来源"
:disabled="!(this.model.bopmod.szflg == '1')">
<el-option v-for="item in codes.acttyp" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="地区机构号" prop="bopmod.ownextkey">
<c-select v-model="model.bopmod.ownextkey" style="width: 100%" placeholder="请选择地区机构号" :code="codes.ownextkey1"
:disabled="!(this.model.bopmod.szflg == '1' || this.model.bopmod.szflg == '2')">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<c-col :span="12">
<el-form-item label="国外银行扣费(涉外收入申报专用)" prop="bopmod.outchargeccy">
<c-select v-model="model.bopmod.outchargeccy" placeholder="请选择国外银行扣费(涉外收入申报专用)" disabled
style="width: 100%">
<el-option v-for="item in codes.curtxt1" :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="" label-width="5px" prop="bopmod.outchargeamt">
<c-input v-model="model.bopmod.outchargeamt" class="m-input-currency" placeholder="请输入国外银行扣费(涉外收入申报专用)"
:disabled="
!(
this.model.bopmod.szflg == '1' &&
this.model.bopmod.basflg != ''
)
"></c-input>
</el-form-item>
</c-col>
</c-col>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import event from "../event";
import Basp from "./Basp";
import Basp1 from "./Basp1";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
components: {
"m-basp": Basp,
"m-basp1": Basp1,
},
data() {
return {};
},
computed: {
basflg: {
get() {
console.log(this.model.bopmod.szflg == "1");
if (this.model.bopmod.szflg == "1" || this.model.bopmod.szflg == "2") {
return this.model.bopmod.basflg != "";
}
},
set(val) {
this.model.bopmod.basflg = val ? "X" : "";
},
},
},
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>
<!--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" />
</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>
<el-tab-pane label="备查/附言" name="addbcb">
<c-content>
<m-addbcb :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000002 -->
<el-tab-pane label="申报信息" name="cnyp">
<c-content>
<m-cnyp :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
<!--PD000529 -->
<el-tab-pane label="报文/面函" name="docpan">
<c-content>
<m-docpan :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000546 -->
<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"
@select-ety="selectGridEtyPromptData"
>
</c-grid-ety-prompt-dialog>
<c-function-btn
:handleSubmit="handleSubmit"
:handleCheck="handleCheck"
:handleStash="handleStash">
</c-function-btn>
</c-page>
</div>
</template>
<script>
import event from '../event';
import operationFunc from "~/mixin/operationFunc";
import CodeTable from "~/config/CodeTable"
import Betset from "../model";
import Ovwp from "./Ovwp"
import Cnyp from "./Cnyp"
import Addbcb from "./Addbcb"
import Engp from "~/components/business/engp/views";
import Setmod from "~/components/business/setmod/views";
import Glentry from "~/components/business/glentry/views";
import Docpan from "~/components/business/docpan/views";
import Doctre from "~/components/business/doctre/views";
import Limitbody from "~/components/business/limitbody/views";
export default {
name: "Betset",
components:{
"m-ovwp" : Ovwp,
"m-limitbody" : Limitbody,
"m-engp" : Engp,
"m-addbcb" : Addbcb,
"m-cnyp" : Cnyp,
"m-doctre" : Doctre,
"m-docpan" : Docpan,
"m-glentry" : Glentry,
"m-setmod" : Setmod,
},
provide() {
return {
root: this
}
},
mixins: [event, operationFunc], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "ovwp",
trnName: "betset",
model: new Betset().data,
rules: null,
codes: {
...CodeTable
},
activeNames: ["engp"],
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: {
},
}
</script>
<style>
</style>
......@@ -23,10 +23,13 @@ export default {
const params = {
spt: JSON.parse(localStorage.getItem('row_' + this.trnName)),
trnmod:{
trn:JSON.parse(localStorage.getItem('review_'+this.trnName))
}
trn:JSON.parse(localStorage.getItem('review_'+this.trnName))
}
}
if ( typeof(this.$route.query.inr) == 'string' ){
params.spt = null
params.trnmod.trn =null
}
const loading = this.loading();
const res = await Api.post('/service/litopn/init', {
...params,
transName: this.trnName,
......@@ -162,6 +165,44 @@ export default {
handleChangePurpos() {
this.queryHndtypCodeTableList(this.root.trnName);
},
//最大金额的修改
async nomtopChange() {
let params = {
nomtop: this.model.lidgrp.rec.nomtop,
cur:this.model.lidgrp.cbs.max.cur
};
let res = await Api.post('/service/litopn/maxamt', params);
if (res.respCode == SUCCESS) {
this.model.lidgrp.cbs.max.amt = res.data;
}
},
//兑付方式
async avbbyChange() {
let params = {
avbby: this.model.lidgrp.rec.avbby,
dftat:this.model.lidgrp.blk.dftat,
cnfdet:this.model.lidgrp.rec.cnfdet
};
let res = await Api.post('/service/litopn/blkdftat', params);
if (res.respCode == SUCCESS) {
this.model.lidgrp.blk.dftat = res.data;
}
},
async avbwthChange() {
let ptsList = []
ptsList.push(this.model.lidgrp.adv)
ptsList.push(this.model.lidgrp.cmb)
ptsList.push(this.model.lidgrp.rmb)
ptsList.push(this.model.lidgrp.own)
let params = {
avbwth: this.model.lidgrp.rec.avbwth,
ptsList
};
let res = await Api.post('/service/litopn/avbwth', params);
if (res.respCode == SUCCESS) {
this.model.lidgrp.blk.dftat = res.data;
}
},
},
};
......@@ -180,6 +180,12 @@ export default class Litopn {
apl: {
pts: new Pts().data,
},
cmb: {
pts: new Pts().data,
},
own: {
pts: new Pts().data,
},
},
statusInfo: '',
setmod: new Pub().data.Setmod,
......
......@@ -9,6 +9,7 @@
style="width: 100%"
placeholder="请选择"
:code="codes.avbwth"
@change="avbwthChange"
>
</c-select>
</el-form-item>
......@@ -83,6 +84,7 @@
style="width: 100%"
placeholder="请选择兑付方式"
:code="codes.avbby0"
@change="avbbyChange"
>
</c-select>
</el-form-item>
......
......@@ -60,5 +60,6 @@ const Business = [
{ path: 'infbed', component: () => import('~/business/infbed/views'), name: 'infbed', meta: { title: '出口信用证单据查询' } },
{ path: 'letdrv', component: () => import('~/business/letdrv/views'), name: 'letdrv', meta: { title: '出口信用证出口收单' } },
{ path: 'letdrw', component: () => import('~/business/letdrw/views'), name: 'letdrw', meta: { title: '出口信用证单据收单' } },
{ path: 'betset', component: () => import('~/business/betset/views'), name: 'betset', 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