Commit ed2f5d6c by WH

botset

parent 615f58ba
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.bodgrp.col.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bodgrp.col));
}
if (model.bodgrp.drr.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bodgrp.drr));
}
if (model.bodgrp.dre.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bodgrp.dre));
}
let dataObj = {
rec: {
objtyp: 'BOD',
// objinr: model.bedgrp.rec.inr,
ownref: model.bodgrp.rec.ownref,
opndat: model.bodgrp.rec.opndat,
expdat: model.bodgrp.rec.expdat,
branchInr: model.bodgrp.rec.branchinr,
docamt: model.setmod.docamt,
doccur: model.setmod.doccur,
doctypcod: model.bodgrp.rec.doctypcod,
// hndtyp: model.bodgrp.rec.hndtyp,
// gartyp: model.bodgrp.rec.gartyp,
// fingua: model.bodgrp.rec.fingua,
// fromflg: model.bodgrp.rec.fromflg,
// othersno: model.bodgrp.rec.othersno,
// sndto: model.bodgrp.rec.sndto,
// giduil: model.bodgrp.rec.giduil,
// purpos: model.bodgrp.rec.purpos,
// revflg: model.bodgrp.rec.revflg,
// cnfsta: model.bodgrp.rec.cnfsta,
},
cbsMap: {
MAX: model.bodgrp.cbs.max,
OPN1: model.bodgrp.cbs.opn1,
// MAC: model.bodgrp.cbs.mac,
// MAC2: model.bodgrp.cbs.mac2,
// OPC2: model.bodgrp.cbs.opc2,
// CNF: model.bodgrp.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: 'BOD',
objinr: model.bodgrp.rec.inr,
ownref: model.bodgrp.rec.ownref,
},
};
return params
},
buildDoctre (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'BOD',
objinr: model.bodgrp.rec.inr,
ownref: model.bodgrp.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))
}
}
const res = await Api.post('/service/botset/init', {
...params,
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
bodgrp:{
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);
},
// 业务信息=》基本信息=》保函编号-----获取保函编号
async queryOwnref() {
let params = {
ptainr: this.model.gidgrp.apl.pts.ptainr,
businessType: 'LG',
tbl: 'LG',
};
const loading = this.loading();
let res = await Api.post('/service/gitopn/getOwnRef', params);
if (res.respCode == SUCCESS) {
loading.close();
this.model.gidgrp.rec.ownref = res.data;
}
},
// 获取gitopn弹框表格数据
async queryGridEtyPromptDialogData(type, ptytyp) {
let params = {
userId: window.sessionStorage.userId || 'ZL',
ptytyp: ptytyp,
extkey: this.model.gidgrp[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;
}
},
// 选中gitopn弹框表格的行数据
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);
},
// 初始化保函开立类型码表下拉列表
async queryHndtypCodeTableList(trnName) {
let params = {
gitp: {
swiftflg: this.model.gitp.swiftflg,
},
gidgrp: {
rec: {
purpos: this.model.gidgrp.rec.purpos,
},
},
transName: trnName.toUpperCase(),
};
let res = await Api.post('/service/gitopn/initHndtyp', params);
if (res.respCode == SUCCESS) {
this.$set(this.codes, 'voHndtyp', res.data);
}
},
// 是否SWIFT格式修改--联动保函开立类型
handleChangeSwiftflg() {
this.queryHndtypCodeTableList(this.root.trnName);
},
// 支出目的修改--联动保函开立类型
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 Botset {
constructor() {
this.data = {
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: ''
},
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: '',
basflg: ''
},
bodgrp: {
blk: {
colins: '',
dftins: '',
delins: '',
othins: '',
chgtxt: '',
colinsflg: '',
proins: ''
},
rec: {
rcvdat: '',
predat: '',
matpercnt: '',
ownref: '',
docsta: '',
matperbeg: '',
wairmtcod: '',
doctypcod: '',
chato: '',
othins: '',
lescom: '',
waicolcod: '',
matdat: '',
nam: '',
focflg: ''
},
col: {
pts: new Pts().data
},
cbs: {
opn1: {
cur: '',
amt: '',
},
max: {
cur: '',
amt: ''
}
},
drr: {
pts: new Pts().data
},
dre: {
pts: new Pts().data
}
}
,
lendoc: {
actflg: '',
decnum: '',
vercerref: '',
account: ''
},
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,
};
}
}
<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="wg">
<m-wg :model="model" :codes="codes"/>
</el-collapse-item>
<el-collapse-item title="涉外收入申请单-基础信息" name="basp3"
v-if="model.bopmod.szflg=='1' && model.bopmod.basflg=='X'">
<m-basp3 :model="model" :codes="codes"/>
</el-collapse-item>
<el-collapse-item title="境内收入申请单-基础信息" name="basp2"
v-if="model.bopmod.szflg=='2' && model.bopmod.basflg=='X'">
<m-basp2 :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 commonProcess from "~/mixin/commonProcess";
import event from "../event"
import Wg from "./Wg";
import Cnyp1 from "./Cnyp1";
import Incp from "./Incp";
import Basp2 from "./Basp2";
import Basp3 from "./Basp3";
const tabNameToRulePathMapping = {
"basp2": "bopmod.dbdp.basp",
"basp3": "bopmod.dbap.basp",
"incp": "cnybop.incp",
}
export default {
inject: ["root"],
components: {
"m-basp2": Basp2,
"m-basp3": Basp3,
"m-wg": Wg,
"m-cnyp1": Cnyp1,
"m-incp": Incp,
},
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">
<!-- ==================左边================ -->
<c-col :span="12" style="padding-right: 20px;">
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2101表" label-width="30%" prop="cnybop.cnyflg">
<c-select v-model="model.cnybop.cnyflg" style="width:100%" placeholder="请选择是否报送跨境人民币2101表"
:code="codes.cnyflg" :disabled="model.bodgrp.cbs.max.cur!='CNY'">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2107表" label-width="30%" prop="cnybop.traflg">
<c-select v-model="model.cnybop.traflg" style="width:100%" placeholder="请选择是否报送跨境人民币2107表"
:code="codes.traflg" :disabled="true">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2111表" label-width="30%" prop="cnybop.outflg">
<c-select v-model="model.cnybop.outflg" style="width:100%" placeholder="请选择是否报送跨境人民币2111表"
:code="codes.outflg" :disabled="true">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2106表" label-width="30%" prop="cnybop.libflg">
<c-select v-model="model.cnybop.libflg" style="width:100%" placeholder="请选择是否报送跨境人民币2106表"
:code="codes.libflg" :disabled="true">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2122表" label-width="30%" prop="cnybop.vouflg">
<c-select v-model="model.cnybop.vouflg" style="width:100%" placeholder="请选择是否报送跨境人民币2122表"
:code="codes.vouflg" :disabled="true">
</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 () {
this.model.cnybop.cnyflg = '2';
this.model.cnybop.traflg = '2';
this.model.cnybop.outflg = '2';
this.model.cnybop.libflg = '2';
this.model.cnybop.vouflg = '2';
}
}
</script>
<style>
</style>
<template>
<div class="eibs">
<!-- ==================左边================ -->
<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>
<!-- ============右边================= -->
<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="75"
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 :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>
</div>
</template>
<script>
import event from "../event"
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" style="padding-right: 20px;">
<c-col :span="24">
<c-form-item label="业务主键 " prop="cnybop.cnyinc.spk">
<c-input disabled v-model="model.cnybop.cnyinc.spk" maxlength="20" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="银行机构名称" prop="cnybop.sbankname">
<c-input disabled v-model="model.cnybop.sbankname" maxlength="80" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="银行机构代码" prop="cnybop.cnyinc.sbankorgcode">
<c-input disabled v-model="model.cnybop.cnyinc.sbankorgcode" maxlength="12" placeholder=""></c-input>
</c-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="">
<el-option
v-for="item in codes.cpayeeattr"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</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="">
<el-option
v-for="item in codes.sbalancemode"
: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="cnybop.cnyinc.cpayeraccttyp">
<c-select v-model="model.cnybop.cnyinc.cpayeraccttyp" style="width:100%" placeholder="">
<el-option
v-for="item in codes.cpayeraccttyp"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</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="">
<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="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" style="padding-left: 20px;">
<c-col :span="24">
<c-form-item label="银行业务编号" prop="cnybop.cnyinc.sbanktrano">
<c-input disabled v-model="model.cnybop.cnyinc.sbanktrano" maxlength="22" placeholder=""></c-input>
</c-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="21">
<c-form-item label="付款人常驻国家(地区)代码" prop="cnybop.cnyinc.spayercountrycode">
<c-input v-model="model.cnybop.cnyinc.spayercountrycode" maxlength="3" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="3">
<c-button size="small" type="primary" icon="el-icon-search" @click="onIncctySelbut1">
</c-button>
</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=""></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 event from "../event"
export default {
inject: ['root'],
props: ["model", "codes"],
mixins: [event],
data() {
return {}
},
methods: {},
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="放单指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" v-model="model.bodgrp.blk.colins" maxlength="3250" :rows="3" show-word-limit
placeholder="请输入放单指示条款" disabled>
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="bodgrp.blk.colinsflg">
<c-checkbox disabled v-model="colinsflg">放单指示条款修改</c-checkbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="汇票指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" disabled v-model="model.bodgrp.blk.dftins" maxlength="390" :rows="5"
show-word-limit
placeholder="请输入汇票指示条款">
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="拒绝证书指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" disabled v-model="model.bodgrp.blk.proins" maxlength="130" :rows="2"
show-word-limit
placeholder="请输入拒绝证书指示条款">
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="其它指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" disabled v-model="model.bodgrp.blk.othins" maxlength="390" :rows="5"
show-word-limit
placeholder="请输入其它指示条款">
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="仓储/保险指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" disabled v-model="model.bodgrp.blk.delins" maxlength="130" :rows="2"
show-word-limit
placeholder="请输入仓储/保险指示条款">
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
</c-col>
<!-- ============右边================= -->
<c-col :span="12" style="padding-left: 20px;">
<c-col :span="24" style="width:100%">
<el-form-item label="费用承担条款" prop="bodgrp.rec.chato" style="padding-top:15px">
<c-select disabled v-model="model.bodgrp.rec.chato" style="width:100%" placeholder="请选择条款"
:code="codes.chadet">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24" style="width:100%">
<el-form-item label="手续费支付的附加详述" prop="bodgrp.blk.chgtxt" style="padding-top:15px">
<c-input type="textarea" disabled v-model="model.bodgrp.blk.chgtxt" maxlength="210" :rows="5" show-word-limit
placeholder="请输入手续费支付的附加详述"></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<c-checkbox disabled v-model="model.bodgrp.rec.focflg" style="padding-left:10px">无偿放单选项</c-checkbox>
</c-col>
<c-col :span="24" style="width:100%">
<el-form-item label="交单时是否放弃向代收行收取费用的权力" prop="bodgrp.rec.waicolcod" style="padding-top:15px">
<c-select disabled v-model="model.bodgrp.rec.waicolcod" style="width:100%"
placeholder="请选择拒绝证书指示条款"
:code="codes.waicolcod">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24" style="width:100%">
<el-form-item label="放单时是否放弃向托收行收取费用的权力" prop="bodgrp.rec.wairmtcod" style="padding-top:15px">
<c-select disabled v-model="model.bodgrp.rec.wairmtcod" style="width:100%"
placeholder="请选择放单时是否放弃向托收行收取费用的权力" :code="codes.wairmtcod">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24" style="width:100%">
<el-form-item label="延期付款期限" prop="bodgrp.rec.othins" style="padding-top:15px">
<c-select disabled v-model="model.bodgrp.rec.othins" style="width:100%" placeholder="请选择延期付款期限"
:code="codes.othins">
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="面函提示" prop="bodgrp.cbs.opn1.cur" style="padding-top:15px">
<c-select disabled v-model="model.bodgrp.cbs.opn1.cur" style="width: 100%" placeholder="请选择"
:code="codes.cur">
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="" prop="bodgrp.rec.lescom" label-width="5px">
<c-input style="padding-top:15px; margin: 0 0 0 5px" disabled v-model="model.bodgrp.rec.lescom"
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 () {},
computed: {
colinsflg: {
get() {
return this.model.bodgrp.blk.colinsflg === "X";
},
set(val) {
this.model.bodgrp.blk.colinsflg = val ? "X" : "";
},
},
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="资金结算" name="setp">
<m-setp ref="setp" :model="model" :codes="codes"/>
</el-collapse-item>
<el-collapse-item title="指示条款" name="inst">
<m-inst :model="model" :codes="codes"/>
</el-collapse-item>
<el-collapse-item title="参与方" name="ptyp">
<m-ptyp :model="model" :codes="codes"/>
</el-collapse-item>
<el-collapse-item title="收账通知" name="docpan1">
<m-docpan1 :model="model" :codes="codes"/>
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from "../event"
import Setp from "./Setp"
import Inst from "./Inst"
import Ptyp from "./Ptyp"
import Docpan1 from "./Docpan1"
export default {
components: {
"m-docpan1": Docpan1,
"m-setp": Setp,
"m-inst": Inst,
"m-ptyp": Ptyp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["setp"],
};
},
methods: {},
created: function () {},
computed: {},
};
</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-ptap
:model="model"
:argadr="{
title: '收款人',
grp: 'bodgrp',
rol: 'drr',
}"
:disabled="true"
:disabledRef="true"
:disabledExtkey="true"
>
</c-ptap>
<c-ptap
:model="model"
:argadr="{
title: '付款人',
grp: 'bodgrp',
rol: 'dre',
}"
:disabled="true"
:disabledRef="true"
:disabledExtkey="true"
>
</c-ptap>
</c-col>
<!-- ============右边================= -->
<c-col :span="12" style="padding-left: 20px;">
<c-ptap
:model="model"
:argadr="{
title: '代收行',
grp: 'bodgrp',
rol: 'col',
}"
:disabled="true"
:disabledRef="true"
:disabledExtkey="true"
>
</c-ptap>
</c-col>
<c-col :span="24">
<c-edit-table :model="model" v-bind="ptsaddg">
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button
size="mini"
@click="handleEdit(scope.$index, scope.row)"
type="primary"
>详情
</el-button
>
</template>
</el-table-column>
</c-edit-table>
</c-col>
</div>
</template>
<script>
import event from "../event"
import Ptap from "~/views/Public/Ptap";
export default {
components: {"c-ptap": Ptap},
inject: ['root'],
props: ["model", "codes"],
mixins: [event],
data() {
return {
ptsaddg: {
columns: [
{
title: "角色",
width: "120px",
dataIndex: "rol",
show: "select",
},
{
title: "机构实体",
width: "180px",
dataIndex: "ptyextkey",
show: "input",
},
{
title: "名称",
width: "300px",
dataIndex: "nam",
},
{
title: "参考地址",
width: "300px",
dataIndex: "ref",
},
],
urls: "botp.ptsaddp.ptsaddg",
},
}
},
methods: {},
created: function () {
}
}
</script>
<style>
</style>
<template>
<div class="eibs">
<!-- ==================左边================ -->
<c-col :span="12" style="padding-right: 20px;">
<c-col :span="24">
<c-fullbox>
<el-form-item label="申报类型" prop="bopmod.szflg">
<c-select
@change="selectOrCheckboxRule('bopmod.szflg')"
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
:disabled="model.bopmod.szflg=='3' || model.bopmod.szflg==''"
v-model="model.bopmod.basflg"
style="margin-left: 10px"
>基础数据
</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="model.bopmod.szflg!='1'"
>
<el-option
v-for="item in acttyp"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
</c-col>
<!-- ============右边================= -->
<c-col :span="12" style="padding-left: 20px;">
<c-col :span="24">
<el-form-item label="地区机构号" prop="bopmod.ownextkey">
<c-select
v-model="model.bopmod.ownextkey"
style="width: 100%"
placeholder="请选择地区机构号"
:disabled="model.bopmod.szflg=='3' || model.bopmod.szflg==''"
>
<el-option
v-for="item in ownextkey"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</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.cur"
: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-currency
v-model="model.bopmod.outchargeamt"
placeholder="请输入国外银行扣费(涉外收入申报专用)"
:disabled="model.bopmod.szflg!='1' || model.lendoc.actflg!='X'"
@keyup.enter.native="defaultFunction('bopmod.outchargeamt', model.bopmod.outchargeamt)"
></c-input-currency>
</el-form-item>
</c-col>
</c-col>
</c-col>
</div>
</template>
<script>
import event from "../event"
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
acttyp: [
{label: "境外", value: "(JW)"},
{label: "境内非居民", value: "(JN)"},
],
ownextkey: [
{label: "08350012 北京分行", value: "08350012"},
{label: "083507113 LM ADD", value: "08357113"},
],
};
},
watch: {
"model.bopmod.szflg": function () {
if (this.model.bopmod.szflg == "3" || this.model.bopmod.szflg == "") {
this.model.lendoc.actflg = ""
}
},
},
methods: {},
created: function () {
},
};
</script>
<style>
</style>
<template>
<c-page title="出口托收收汇">
<div class="eContainer">
<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 ref="ovwp" :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
<el-tab-pane label="统一授信" name="limitbody">
<c-content>
<m-limitbody :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
<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>
<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>
<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>
</div>
</c-page>
</template>
<script>
import CodeTable from "~/config/CodeTable"
import Botset from "../model"
import formRules from '../model/check'
import event from "../event"
import Addbcb from "./Addbcb";
import Ovwp from "./Ovwp"
import Setp from "./Setp"
import Inst from "./Inst"
import Ptyp from "./Ptyp"
import Docpan1 from "./Docpan1"
import Wg from "./Wg"
import Cnyp from "./Cnyp"
import Basp2 from "./Basp2"
import Basp3 from "./Basp3"
import Incp from "./Incp"
import Engp from "~/components/business/engp/views";
import Setmod from "~/components/business/setmod/views";
import Glentry from "~/components/business/glentry/views";
import Coninfp from "~/components/business/coninfp/views";
import Docpan from "~/components/business/docpan/views";
import Doctre from "~/components/business/doctre/views";
import Limitbody from "~/components/business/limitbody/views";
import operationFunc from "@/mixin/operationFunc";
export default {
name: "Botset",
components: {
"m-addbcb": Addbcb,
"m-ovwp": Ovwp,
"m-setp": Setp,
"m-inst": Inst,
"m-ptyp": Ptyp,
"m-engp": Engp,
"m-setmod": Setmod,
"m-glentry": Glentry,
"m-coninfp": Coninfp,
"m-docpan": Docpan,
"m-doctre": Doctre,
"m-wg": Wg,
"m-cnyp": Cnyp,
"m-limitbody": Limitbody,
"m-docpan1": Docpan1,
"m-basp2": Basp2,
"m-basp3": Basp3,
"m-incp": Incp,
},
provide() {
return {
root: this
}
},
mixins: [operationFunc, event], // 里面包含了Default、Check等的公共处理
data() {
return {
tabVal: "ovwp",
trnName: "botset",
model: new Botset().data,
rules: formRules,
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: []
},
}
},
computed: {
actflg: {
get() {
return this.model.lendoc.actflg === "X";
},
set(val) {
this.model.lendoc.actflg = val ? "X" : "";
},
},
},
methods: {},
created: async function () {
},
mounted() {
this.init()
},
}
</script>
<style>
</style>
......@@ -72,5 +72,6 @@ const Business = [
{ path: 'botacc', component: () => import('~/business/botacc/views'), name: 'botacc', meta: { title: '出口托收承兑' } },
{ path: 'botdav', component: () => import('~/business/botdav/views'), name: 'botdav', meta: { title: '出口托收寄单' } },
{ path: 'botcan', component: () => import('~/business/botcan/views'), name: 'botcan', meta: { title: '出口托收注销' } },
{ path: 'botset', component: () => import('~/business/botset/views'), name: 'botset', 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