Commit ef602c7a by WH

botrad,botdav

parent c385bed0
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.apl));
}
if (model.bodgrp.drr.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bodgrp.adv));
}
if (model.bodgrp.dre.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bodgrp.ben));
}
let dataObj = {
rec: {
objtyp: 'BOD',
ownref: model.bodgrp.rec.ownref,
opndat: model.bodgrp.rec.opndat,
expdat: model.bodgrp.rec.expdat,
branchInr: model.bodgrp.rec.branchInr,
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))
}
const res = await Api.post('/service/botdav/init', {
...params,
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
});
if (!res.data) {
return
}
this.copyValueFromVoData(this.model, res.data)
this.copyValueFromVoData(this.model.setmod.setfeg, res.data.setfeg)
this.copyValueFromVoData(this.model.setmod.setfog, res.data.setfog)
this.copyValueFromVoData(this.model.setmod.setglg, res.data.setglg)
},
// 兼容处理在前端model中定义了字段,后端返回的数据中不存在字段的问题
copyValueFromVoData (model, data) {
let keysList = Object.keys(model)
keysList.map((key) => {
if (data[key]) {
if (Utils.typeOf(model[key]) === 'Object') {
this.copyValueFromVoData(model[key], data[key])
} else {
this.$set(model, key, data[key])
}
}
})
},
async tabClick(tab) {
if (this.isInDisplay) {
return;
}
let name = tab.name;
switch (name) {
case 'ccvpan':
let ccvpanRequest = buildFn.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 Botdav {
constructor() {
this.data = {
botcoll3blk: "",
botcoll1blk: "",
botdrrl1blk: "",
botcoll4blk: "",
bodgrp: {
rec: {
matpertyp: "", // Days/Months or Years for Maturity Period .bodgrp.rec.matpertyp
ownref: "", // Reference .bodgrp.rec.ownref
nam: "", // Name .bodgrp.rec.nam
dircolflg: "", // Direct Collection .bodgrp.rec.dircolflg
resflg: "", // Reservated Contract .bodgrp.rec.resflg
rcvdat: "", // Order Date .bodgrp.rec.rcvdat
shpdat: "", // Shipment date .bodgrp.rec.shpdat
predat: "", // Presentation Date .bodgrp.rec.predat
advdat: "", // Dispatched on .bodgrp.rec.advdat
doctypcod: "", // Collection Condition .bodgrp.rec.doctypcod
matdat: "", // Maturity Date .bodgrp.rec.matdat
matpercnt: "", // Tenor Specification .bodgrp.rec.matpercnt
matperbeg: "", // Starting from .bodgrp.rec.matperbeg
stacty: "", // Country Code Risk Country! .bodgrp.rec.stacty
stagod: "", // Goods Code .bodgrp.rec.stagod
invtyp: "", // Maturity Date .bodgrp.rec.invtyp
paydoctyp: "", // Financial Document .bodgrp.rec.paydoctyp
paydocnum: "", // Document Number .bodgrp.rec.paydocnum
issdat: "", // Issued on .bodgrp.rec.issdat
ccdndrflg: "", // Truncation - Physical Document Kept w OWN .bodgrp.rec.ccdndrflg
ccdpurflg: "", // Payment Under Reserve .bodgrp.rec.ccdpurflg
chato: "", // Our Charges to .bodgrp.rec.chato
focflg: "", // Free of Payment .bodgrp.rec.focflg
waicolcod: "", // Protest Instructions .bodgrp.rec.waicolcod
wairmtcod: "", // Waive Remitting Bank Charges .bodgrp.rec.wairmtcod
othins: "", // Defer Payment until .bodgrp.rec.othins
lescom: "", // Warehouse/Insurance .bodgrp.rec.lescom
shpfro: "", // Shipment from .bodgrp.rec.shpfro
shpto: "", // For Transportation to .bodgrp.rec.shpto
},
cbs: {
max: {
cur: "", // Document Amount .bodgrp.cbs.max.cur
amt: "", // Document Amount .bodgrp.cbs.max.amt
},
opn1: {
cur: "", // Warehouse/Insurance .bodgrp.cbs.opn1.cur
amt: "", // Open Amount .bodgrp.cbs.opn1.amt
},
},
blk: {
docpre: "", // bodgrp.blk.docpre
bogdet: "", // Tenor Details Text .bodgrp.blk.bogdet
cctinsrcv: "", // Instructions Received .bodgrp.blk.cctinsrcv
cctinscol: "", // Collection Instruction .bodgrp.blk.cctinscol
colins: "", // Collection Instructions .bodgrp.blk.colins
colinsflg: "", // Collection instructions modified .bodgrp.blk.colinsflg
dftins: "", // Draft Instructions .bodgrp.blk.dftins
proins: "", // Protest Instructions .bodgrp.blk.proins
othins: "", // Other Instructions .bodgrp.blk.othins
chgtxt: "", // Charges Text .bodgrp.blk.chgtxt
delins: "", // Delivery instructions .bodgrp.blk.delins
intins: "", // Interest Instructions .bodgrp.blk.intins
setinsbo: "", // Settlement insrtrctions .bodgrp.blk.setinsbo
agtaut: "", // Authority of Agent .bodgrp.blk.agtaut
goddes: "", // Description of Goods .bodgrp.blk.goddes
},
drr: {
pts: new Pts().data,
namelc: "", // 名称 .bodgrp.drr.namelc
adrelc: "", // 地址 .bodgrp.drr.adrelc
dbfadrblkcn: "", // Chinese address .bodgrp.drr.dbfadrblkcn
},
col: {
pts: new Pts().data,
namelc: "", // 名称 .bodgrp.col.namelc
adrelc: "", // 地址 .bodgrp.col.adrelc
dbfadrblkcn: "", // Chinese address .bodgrp.col.dbfadrblkcn
},
dre: {
pts: new Pts().data,
namelc: "", // 名称 .bodgrp.dre.namelc
adrelc: "", // 地址 .bodgrp.dre.adrelc
dbfadrblkcn: "", // Chinese address .bodgrp.dre.dbfadrblkcn
},
srm: {
djuusr: "", // 单据出具人 .bodgrp.srm.djuusr
djudat: "", // 单据出具日期 .bodgrp.srm.djudat
djuref: "", // 货权单据编号 .bodgrp.srm.djuref
djutyp: "", // 单据类型 .bodgrp.srm.djutyp
},
},
botp: {
ptsaddp: {
ptsaddg: [],
},
recget: {
sdamod: {
seainf: "", // .botp.recget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .botp.recget.sdamod.dadsnd
},
},
usr: {
extkey: "", // Responsible User .botp.usr.extkey
},
usrget: {
sdamod: {
seainf: "", // .botp.usrget.sdamod.seainf
},
},
docgrdm: {
docgrd: [],
docdsclab: "", // Label of document description .botp.docgrdm.docdsclab
},
drrp: {
ptsget: {
sdamod: {
seainf: "", // .botp.drrp.ptsget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .botp.drrp.ptsget.sdamod.dadsnd
},
},
},
colp: {
ptsget: {
sdamod: {
seainf: "", // .botp.colp.ptsget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .botp.colp.ptsget.sdamod.dadsnd
},
},
},
drep: {
ptsget: {
sdamod: {
seainf: "", // .botp.drep.ptsget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .botp.drep.ptsget.sdamod.dadsnd
},
},
},
},
cnybop: {
cnyflg: "", // 是否报送跨境人民币2101表 .cnybop.cnyflg
traflg: "", // 是否报送跨境人民币2107表 .cnybop.traflg
outflg: "", // 是否报送跨境人民币2111表 .cnybop.outflg
libflg: "", // 是否报送跨境人民币2106表 .cnybop.libflg
vouflg: "", // 是否报送跨境人民币2122表 .cnybop.vouflg
cnylib: {
spk: "", // 业务主键 .cnybop.cnylib.spk
sbankorgcode: "", // 银行机构代码 .cnybop.cnylib.sbankorgcode
stransattr: "", // 业务属性 .cnybop.cnylib.stransattr
stranstype: "", // 业务类型 .cnybop.cnylib.stranstype
sforbankswiftbic: "", // 境外对手行代码 .cnybop.cnylib.sforbankswiftbic
sorgcode: "", // 境内企业机构代码 .cnybop.cnylib.sorgcode
sforeigncountrycode: "", // 境外企业国别地区代码 .cnybop.cnylib.sforeigncountrycode
doccurdate: "", // 业务发生日期 .cnybop.cnylib.doccurdate
denddate: "", // 业务到期日 .cnybop.cnylib.denddate
dcreditenddate: "", // 信用证到期日 .cnybop.cnylib.dcreditenddate
famt: "", // 金额 .cnybop.cnylib.famt
dexchangedate: "", // 承兑日期 .cnybop.cnylib.dexchangedate
dexchangeenddate: "", // 承兑到期日 .cnybop.cnylib.dexchangeenddate
sbanktrano: "", // 银行业务编号 .cnybop.cnylib.sbanktrano
stermtype: "", // 期限条件 .cnybop.cnylib.stermtype
currencycode: "", // 币种 .cnybop.cnylib.currencycode
},
sorgname: "", // 境内企业名称 .cnybop.sorgname
sforeignorgname: "", // 境外企业名称 .cnybop.sforeignorgname
saddwordlib: "", // 交易附言 .cnybop.saddwordlib
sbankname: "", // 银行机构名称 .cnybop.sbankname
fexchangeamt: "", // 承兑金额 .cnybop.fexchangeamt
},
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">
<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="model.cnybop.libflg ==='1'">
<m-libp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import commonProcess from "~/mixin/commonProcess";
import event from "../event"
import Cnyp1 from "./Cnyp1";
import Libp from './Libp'
export default {
inject: ["root"],
components: {
'm-libp': Libp,
"m-cnyp1": Cnyp1,
},
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["cnyp1"],
};
},
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="是否报送跨境人民币2101表" label-width="30%" prop="cnybop.cnyflg">
<c-select v-model="model.cnybop.cnyflg" style="width:100%" placeholder="请选择是否报送跨境人民币2101表"
:code="codes.cnyflg" :disabled="true">
</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="model.bodgrp.cbs.max.cur != 'CNY'">
</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="放单指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" v-model="model.bodgrp.blk.colins" maxlength="65" show-word-limit
placeholder="请输入放单指示条款" :disabled="model.bodgrp.blk.colinsflg !='X'">
</c-input>
<template slot="footer">
<c-button
icon="el-icon-more"
size="small"
type="primary"
:disabled="model.bodgrp.blk.colinsflg !='X'"
>
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="bodgrp.blk.colinsflg" style=" float:right;">
<c-checkbox 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" v-model="model.bodgrp.blk.dftins" maxlength="65" show-word-limit
placeholder="请输入汇票指示条款">
</c-input>
<template slot="footer">
<c-button icon="el-icon-more"
size="small"
type="primary"
>
</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" v-model="model.bodgrp.blk.proins" maxlength="65" show-word-limit
placeholder="请输入拒绝证书指示条款">
</c-input>
<template slot="footer">
<c-button
icon="el-icon-more"
size="small"
type="primary"
>
</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" v-model="model.bodgrp.blk.othins" maxlength="65" show-word-limit
placeholder="请输入其它指示条款">
</c-input>
<template slot="footer">
<c-button
icon="el-icon-more"
size="small"
type="primary"
>
</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" v-model="model.bodgrp.blk.delins" maxlength="65" show-word-limit
placeholder="请输入仓储/保险指示条款">
</c-input>
<template slot="footer">
<c-button
icon="el-icon-more"
size="small"
type="primary"
>
</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 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" v-model="model.bodgrp.blk.chgtxt" maxlength="35" show-word-limit
placeholder="请输入手续费支付的附加详述"></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<c-checkbox 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 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 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 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 v-model="model.bodgrp.cbs.opn1.cur" style="width:100%" placeholder="请选择"
:disabled="true" :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" 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>
\ 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="bodgrp.blk.dftins" label-width="180px">
<c-input type="textarea" :autosize="{ minRows: 4, maxRows: 6}" v-model="model.bodgrp.blk.dftins"
style="width:100%;margin-right:20px;" maxlength="390" show-word-limit
placeholder="请输入汇票指示条款"></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="利息指示条款" prop="bodgrp.blk.intins" label-width="180px">
<c-input type="textarea" :autosize="{ minRows: 4, maxRows: 5}" v-model="model.bodgrp.blk.intins"
style="width:100%;margin-right:20px;" maxlength="325" show-word-limit
placeholder="请输入利息指示条款"></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="结算条款" prop="bodgrp.blk.setinsbo" label-width="180px">
<c-fullbox>
<c-input type="textarea" v-model="model.bodgrp.blk.setinsbo" :autosize="{ minRows: 6, maxRows: 8}"
style="width:100%" maxlength="400" show-word-limit
placeholder="请输入结算条款"></c-input>
<template slot="footer">
<c-button size="small" type="primary" icon="el-icon-more" style="margin: 0 0 0 10px">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="赋予代理行的权力" prop="bodgrp.blk.agtaut" label-width="180px">
<c-input type="textarea" :autosize="{ minRows: 6, maxRows: 6}" v-model="model.bodgrp.blk.agtaut"
style="width:100%;margin-right:20px;" maxlength="210" show-word-limit
placeholder="请输入赋予代理行的权力"></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="货物的起运地" prop="bodgrp.rec.shpfro" label-width="180px">
<c-input v-model="model.bodgrp.rec.shpfro" style="width:100%;margin-right:20px;" maxlength="40"
placeholder="请输入货物的起运地"></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="货物的到达地" prop="bodgrp.rec.shpto" label-width="180px">
<c-input v-model="model.bodgrp.rec.shpto" style="width:100%;margin-right:20px;" maxlength="40"
placeholder="请输入货物的到达地"></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="装船日期" prop="bodgrp.rec.shpdat" label-width="180px">
<c-date-picker type="date" v-model="model.bodgrp.rec.shpdat" style="width:100%;margin-right:20px;"
placeholder="请选择装船日期"></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="货物描述" prop="bodgrp.blk.goddes" label-width="180px">
<c-input type="textarea" :autosize="{ minRows: 6, maxRows: 8}" v-model="model.bodgrp.blk.goddes"
style="width:100%;margin-right:20px;" maxlength="325" show-word-limit
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>
\ 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="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">
<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="ovwp1">
<m-ovwp1 :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="instrecp">
<m-instrecp :model="model" :codes="codes"/>
</el-collapse-item>
<el-collapse-item title="货权单据" name="srmp">
<m-srmp :model="model" :codes="codes"/>
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from "../event";
import Ovwp1 from "./Ovwp1"
import Inst from "./Inst"
import Ptyp from "./Ptyp"
import Instrecp from "./Instrecp"
import Srmp from "./Srmp"
export default {
components: {
"m-ovwp1": Ovwp1,
"m-inst": Inst,
"m-ptyp": Ptyp,
"m-instrecp": Instrecp,
"m-srmp": Srmp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["ovwp1"],
};
},
methods: {},
created: function () {
},
computed: {},
};
</script>
<style>
.marginLable {
padding-left: 160px;
}
</style>
<template>
<div class="eibs">
<!-- ==================左边================ -->
<c-col :span="12" style="padding-right: 20px;">
<c-ptap :model="model" :argadr="{
title: '收款人',
grp: 'bodgrp',
rol: 'drr',
}" :disabled="true">
</c-ptap>
<c-ptap :model="model" :argadr="{
title: '付款人',
grp: 'bodgrp',
rol: 'dre',
}" :disabled="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">
</c-ptap>
</c-col>
<c-col :span="24">
<c-table max-height="300px" style="text-align: center;" stripe :list="this.model.botp.ptsaddp.ptsaddg || []"
:paginationShow="false" :border="true">
<el-table-column label="其它参与方">
<el-table-column label="角色" width="auto" prop="rol">
<template slot-scope="scope">
<c-select v-model="scope.row.rol" :code="ptyp2">
</c-select>
</template>
</el-table-column>
<el-table-column label="机构实体" width="auto" prop="ptyextkey">
<template slot-scope="scope">
<c-input v-model="scope.row.ptyextkey" maxlength="12">
</c-input>
</template>
</el-table-column>
<el-table-column label="名称" width="auto" prop="nam">
<template slot-scope="scope">
<c-input v-model="scope.row.nam" maxlength="12">
</c-input>
</template>
</el-table-column>
<el-table-column label="参考地址" width="auto" prop="ref">
<template slot-scope="scope">
<c-input v-model="scope.row.ref" maxlength="12">
</c-input>
</template>
</el-table-column>
<el-table-column label="单据" prop="docnam" width="auto">
<template slot="header" slot-scope="scope">
<c-row>
<c-col :span="12">
<span style="line-height: 36px;">操作</span>
</c-col>
<c-col :span="12">
<div style="float: right;">
<span class="add_del_button add_button" @click="addTableValue">+</span>
<span class="add_del_button" @click="deleteTable">-</span>
</div>
</c-col>
</c-row>
</template>
<template slot-scope="scope">
<el-button size="mini" type="primary">详情
</el-button>
</template>
</el-table-column>
</el-table-column>
</c-table>
</c-col>
</div>
</template>
<script>
import event from "../event"
import Utils from "~/utils";
import Ptap from "~/views/Public/Ptap";
export default {
components: {"c-ptap": Ptap},
inject: ['root'],
props: ["model", "codes"],
mixins: [event],
data() {
return {
newValue: {
rol: "",
ptyextkey: "",
nam: "",
ref: "",
},
ptyp2: [
{label: "TPO 第三当事人", value: "TPO"},
{label: "TP1 第一第三当事人 .", value: "TP1"},
{label: "TP2 第二第三当事人", value: "TP2"},
{label: "TP3 第三第三当事人", value: "TP3"},
{label: "TP4 第四第三当事人", value: "TP4"},
{label: "TP5 第五第三当事人", value: "TP5"},
{label: "TP6 第六第三当事人", value: "TP6"},
{label: "TP7 第七第三当事人", value: "TP7"},
{label: "TP8 第八第三当事人", value: "TP8"},
],
}
},
methods: {
...Event,
addTableValue(index) {
var newTableValue = Object.assign({}, this.newValue);
const serial = Utils.generateUUID();
newTableValue.serialNum = serial;
this.model.botp.ptsaddp.ptsaddg.splice(index - 1, 0, newTableValue);
},
deleteTable(index) {
this.model.botp.ptsaddp.ptsaddg.splice(index, 1);
},
},
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="单据类型" prop="bodgrp.srm.djutyp">
<c-select v-model="model.bodgrp.srm.djutyp" style="width:100%" placeholder="请选择单据类型"
:code="codes.djutyp">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="单据出具人" prop="bodgrp.srm.djuusr">
<c-input v-model="model.bodgrp.srm.djuusr" maxlength="80" placeholder="请输入单据出具人"
:disabled="model.bodgrp.srm.djutyp=='D'"></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="单据出具日期" prop="bodgrp.srm.djudat">
<c-date-picker type="date" v-model="model.bodgrp.srm.djudat" style="width:100%"
placeholder="请选择单据出具日期" :disabled="model.bodgrp.srm.djutyp=='D'"></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="货权单据编号" prop="bodgrp.srm.djuref">
<c-input v-model="model.bodgrp.srm.djuref" maxlength="40" placeholder="请输入货权单据编号"
:disabled="model.bodgrp.srm.djutyp=='D'"></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>
<c-page title="出口托收寄单">
<div class="eContainer">
<el-form :model="model" :rules="rules" ref="modelForm" label-width="120px" label-position="left"
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>
<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>
<!--PD000009 -->
<el-tab-pane label="申报信息" name="libp,cnyp1">
<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 Botdav from "../model"
import Addbcb from "./Addbcb";
import Ovwp from "./Ovwp"
import Inst from "./Inst"
import Ptyp from "./Ptyp"
import Instrecp from "./Instrecp"
import Cnyp from "./Cnyp"
import Srmp from "./Srmp"
import Libp from './Libp'
import formRules from '../model/check'
import Setmod from "~/components/business/setmod/views"
import Coninfp from "~/components/business/coninfp/views";
import Docpan from "~/components/business/docpan/views";
import Engp from "~/components/business/engp/views";
import Glentry from "~/components/business/glentry/views";
import Doctre from "~/views/Public/Doctre"
import operationFunc from "@/mixin/operationFunc";
import event from "../event";
export default {
name: "Botdav",
components: {
"m-addbcb": Addbcb,
"m-ovwp": Ovwp,
"m-inst": Inst,
"m-ptyp": Ptyp,
"m-instrecp": Instrecp,
"m-setmod": Setmod,
"m-coninfp": Coninfp,
"m-docpan": Docpan,
"m-doctre": Doctre,
"m-cnyp": Cnyp,
"m-srmp": Srmp,
"m-engp": Engp,
'm-libp': Libp,
"m-glentry": Glentry,
},
provide() {
return {
root: this
}
},
mixins: [operationFunc, event], // 里面包含了Default、Check等的公共处理
data() {
return {
tabVal: "ovwp",
trnName: "botdav",
model: new Botdav().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: []
},
}
},
methods: {},
created: async function () {
},
};
</script>
<style>
</style>
\ No newline at end of file
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.apl));
}
if (model.bodgrp.drr.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bodgrp.adv));
}
if (model.bodgrp.dre.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bodgrp.ben));
}
let dataObj = {
rec: {
objtyp: 'BOD',
ownref: model.bodgrp.rec.ownref,
opndat: model.bodgrp.rec.opndat,
expdat: model.bodgrp.rec.expdat,
branchInr: model.bodgrp.rec.branchInr,
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))
}
const res = await Api.post('/service/gitopn/init', {
...params,
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
});
if (!res.data) {
return
}
this.copyValueFromVoData(this.model, res.data)
this.copyValueFromVoData(this.model.setmod.setfeg, res.data.setfeg)
this.copyValueFromVoData(this.model.setmod.setfog, res.data.setfog)
this.copyValueFromVoData(this.model.setmod.setglg, res.data.setglg)
},
// 兼容处理在前端model中定义了字段,后端返回的数据中不存在字段的问题
copyValueFromVoData (model, data) {
let keysList = Object.keys(model)
keysList.map((key) => {
if (data[key]) {
if (Utils.typeOf(model[key]) === 'Object') {
this.copyValueFromVoData(model[key], data[key])
} else {
this.$set(model, key, data[key])
}
}
})
},
async tabClick(tab) {
if (this.isInDisplay) {
return;
}
let name = tab.name;
switch (name) {
case 'ccvpan':
let ccvpanRequest = buildFn.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 Botacc {
constructor() {
this.data = {};
}
}
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames" @change="handleChange">
<!--el-collapse-item title="备查表" name="addbcb1">
<m-addbcb1 :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 commonProcess from "~/mixin/commonProcess";
import Utils from "~/utils";
import Event from "~/model/Litcan/Event";
//import Addbcb1 from "~/views/Public/Addbcb1";
import Coninfp from "~/views/Public/Coninfp";
export default {
components: {
"m-coninfp": Coninfp,
//"m-addbcb1": Addbcb1,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess],
data() {
return {
activeNames: ["coninfp"],
};
},
methods: {
...Event,
handleChange(val) {
console.log(val);
},
},
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="托收业务编号" prop="bodgrp.rec.ownref" style="width: 100%">
<c-fullbox>
<c-input v-model="model.bodgrp.rec.ownref" maxlength="16" placeholder="请输入托收业务编号"
disabled></c-input>
<template slot="footer">
<c-button style="float:right;" size="small" type="primary" icon="el-icon-search"></c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<!-- <c-col :span="21">-->
<!-- <el-form-item label="托收业务编号" prop="bodgrp.rec.ownref" style="width: 100%">-->
<!-- <c-input v-model="model.bodgrp.rec.ownref" maxlength="16" placeholder="请输入托收业务编号" -->
<!-- disabled></c-input>-->
<!-- </el-form-item>-->
<!-- </c-col>-->
<!-- <c-col :span="3">-->
<!-- -->
<!-- </c-col>-->
<c-col :span="12">
<el-form-item label="托收金额" prop="bodgrp.cbs.max.cur">
<c-select disabled v-model="model.bodgrp.cbs.max.cur" style="width: 100%" placeholder="请选择币种">
<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 style="text-align: left" label-width="5px" prop="bodgrp.cbs.max.amt">
<c-input-currency v-model="model.bodgrp.cbs.max.amt" style="text-align: left; width: 100%"
placeholder="请输入托收金额" disabled
@keyup.enter.native="defaultFunction('bodgrp.cbs.max.amt', model.bodgrp.cbs.max.amt)"></c-input-currency>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="仓储/保险" prop="bodgrp.cbs.opn1.cur">
<c-select disabled v-model="model.bodgrp.cbs.opn1.cur" style="width: 100%" placeholder="请选择币种">
<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 style="text-align: left" label-width="5px" prop="bodgrp.cbs.opn1.amt">
<c-input-currency v-model="model.bodgrp.cbs.opn1.amt" style="text-align: left; width: 100%"
placeholder="请输入仓储/保险" disabled
@keyup.enter.native="defaultFunction('bodgrp.cbs.opn1.amt', model.bodgrp.cbs.opn1.amt)"></c-input-currency>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="交单条件" prop="bodgrp.rec.doctypcod">
<c-select v-model="model.bodgrp.rec.doctypcod" style="width:100%" placeholder="请选择交单条件" :code="codes.doctypcod" disabled
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="单据状态" prop="bodgrp.rec.docsta">
<c-select v-model="model.bodgrp.rec.docsta" style="width: 100%" placeholder="请输入单据状态" :code="codes.docstabot" disabled>
</c-select>
</el-form-item>
</c-col>
<c-col :span="16">
<el-form-item label="单据期限" prop="bodgrp.rec.matdat">
<c-date-picker
type="date"
disabled
v-model="model.bodgrp.rec.matdat"
style="width: 100%"
placeholder="请选择单据到期日"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="4">
<el-form-item label="" label-width="40px">
<c-input
disabled
v-model="model.bodgrp.rec.matpercnt"
placeholder="请输入单据期限"
></c-input>
</el-form-item>
</c-col>
<c-col :span="4">
<el-form-item label="" prop="bodgrp.rec.matpertyp" label-width="5px">
<c-select disabled v-model="model.bodgrp.rec.matpertyp" style="width: 100%" placeholder="">
<el-option
v-for="item in matpertyp"
: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="bodgrp.rec.matperbeg">
<c-select v-model="model.bodgrp.rec.matperbeg" style="width:100%" :code="codes.matperbeg"
placeholder="请选择" disabled>
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="收单日期" prop="bodgrp.rec.rcvdat">
<c-date-picker type="date" v-model="model.bodgrp.rec.rcvdat" style="width:100%" placeholder="请选择收单日期"
disabled></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="寄单日期" prop="bodgrp.rec.predat">
<c-date-picker type="date" v-model="model.bodgrp.rec.predat" style="width:100%"
placeholder="请选择寄单日期" disabled></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="第二次寄单指示" prop="bodgrp.blk.colinssnm" >
<c-input type="textarea" v-model="model.bodgrp.blk.colinssnm" maxlength="60" show-word-limit placeholder="请输入第二次寄单指示" ></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label=" " prop="oridre" label-width="120px" style=" float:right;">
<c-checkbox v-model="model.oridre" padding="15">是否将原单据寄给收款人</c-checkbox>
</el-form-item>
</c-col>
</c-col>
<!-- ============右边================= -->
<c-col :span="12" style="padding-left: 20px;">
<c-col :span="24">
<el-form-item label="摘要" prop="bodgrp.rec.nam">
<c-input text-align="middle" v-model="model.bodgrp.rec.nam" maxlength="40" disabled
placeholder="请输入"></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="收款人" prop="bodgrp.drr.pts.ref">
<c-input v-model="model.bodgrp.drr.pts.ref" maxlength="16" placeholder="请输入收款人" ></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="收款人名称" prop="bodgrp.drr.pts.nam">
<c-input v-model="model.bodgrp.drr.pts.nam" maxlength="40" placeholder="请输入收款人名称" disabled></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="代收行" prop="bodgrp.col.pts.ref">
<c-input v-model="model.bodgrp.col.pts.ref" maxlength="16" placeholder="请输入代收行" disabled></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="代收行名称" prop="bodgrp.col.pts.nam">
<c-input v-model="model.bodgrp.col.pts.nam" maxlength="40" placeholder="请输入代收行名称" disabled></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="付款人" prop="bodgrp.dre.pts.ref">
<c-input v-model="model.bodgrp.dre.pts.ref" maxlength="16" placeholder="请输入付款人" disabled></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="付款人名称" prop="bodgrp.dre.pts.nam">
<c-input v-model="model.bodgrp.dre.pts.nam" maxlength="40" placeholder="请输入付款人名称" disabled></c-input>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-docpre
:model="model"
:argadr="{
path:'bodgrp.blk.docpre',
grp: 'botp',
code:'docpre'
}"></c-docpre>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Botdcr/Event"
import Utils from "~/utils";
import Ptap from "~/views/Public/Ptap";
import Docpre from "~/views/Public/Docpre";
export default {
components: { "c-ptap": Ptap ,
"c-docpre": Docpre,},
inject: ['root'],
props: ["model", "codes"],
mixins: [commonProcess],
data() {
return {
columns: ['0 0 "lst1" 100 ', '1 1 "lst2" 100', '2 2 "单据" 200'],
TableValue: [
{
id: 0,
cmail1: "",
cmail2: "",
docnam: "",
description: "",
serialNum: "",
tableName: "",
tcddoc: "",
},
],
matpertyp: [
{ label: "天", value: "D" },
{ label: "月", value: "M" },
],
newValue: {
id: 0,
cmail1: "",
cmail2: "",
docnam: "",
description: "",
serialNum: "",
tableName: "",
tcddoc: "",
},
}
},
methods: {
...Event,
addTableValue(index) {
var newTableValue = Object.assign({}, this.newValue);
const serial = Utils.generateUUID();
newTableValue.serialNum = serial;
this.model.botp.docgrdm.docgrd.splice(index - 1, 0, newTableValue);
},
deleteTable(index) {
this.model.botp.docgrdm.docgrd.splice(index, 1);
},
},
created: function () {
console.log(this.root);
}
}
</script>
<style>
.messageLabel>>>.el-form-item__label {
text-align: left;
font-weight: bold;
font-size: 12px;
}
</style>
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse-item title="概要" name="botrad1">
<m-botrad1 ref="setp" :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="参与方" name="ptyp">
<m-ptyp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Getset/Event";
import Botrad1 from "./Botrad"
import Ptyp from "./Ptyp"
export default {
components: {
"m-botrad1": Botrad1,
"m-ptyp": Ptyp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess],
data() {
return {
activeNames: ["botrad1"],
};
},
methods: {
...Event,
handleChange(val) {
console.log(val);
}
},
created: function () {},
computed: {
},
};
</script>
<style>
.marginLable {
padding-left: 160px;
}
</style>
<template>
<div class="eibs">
<!-- ==================左边================ -->
<c-col :span="12" style="padding-right: 20px;">
<c-col :span="24">
<c-ptap :model="model" :argadr="{
title: '收款人',
grp: 'bodgrp',
rol: 'drr',
}" :disabledRef="false" :disabledExtkey="true" :disabled="true">
</c-ptap>
<c-ptap :model="model" :argadr="{
title: '付款人',
grp: 'bodgrp',
rol: 'dre',
}" :disabledRef="true" :disabledExtkey="true" :disabled="true" >
</c-ptap>
</c-col>
</c-col>
<!-- ============右边================= -->
<c-col :span="12" style="padding-left: 20px;">
<c-col :span="24">
<c-ptap :model="model" :argadr="{
title: '代收行',
grp: 'bodgrp',
rol: 'col',
}" :disabledRef="true" :disabledExtkey="true" :disabled="true" >
</c-ptap>
</c-col>
</c-col>
<c-col :span="24">
<c-table max-height="300px" style="text-align: center;" stripe :list="this.model.botp.ptsaddp.ptsaddg || []"
:paginationShow="false" :border="true">
<el-table-column label="其它参与方">
<el-table-column label="角色" width="auto" prop="rol">
<template slot-scope="scope">
<c-select v-model="scope.row.rol" :code="ptyp2">
</c-select>
</template>
</el-table-column>
<el-table-column label="机构实体" width="auto" prop="ptyextkey">
<template slot-scope="scope">
<c-input v-model="scope.row.ptyextkey" maxlength="12">
</c-input>
</template>
</el-table-column>
<el-table-column label="名称" width="auto" prop="nam">
<template slot-scope="scope">
<c-input v-model="scope.row.nam" maxlength="12">
</c-input>
</template>
</el-table-column>
<el-table-column label="参考地址" width="auto" prop="ref">
<template slot-scope="scope">
<c-input v-model="scope.row.ref" maxlength="12">
</c-input>
</template>
</el-table-column>
<el-table-column label="单据" prop="docnam" width="auto">
<template slot="header" slot-scope="scope">
<c-row>
<c-col :span="12">
<span style="line-height: 36px;">操作</span>
</c-col>
<c-col :span="12">
<div style="float: right;">
<span class="add_del_button add_button" @click="addTableValue">+</span>
<span class="add_del_button" @click="deleteTable">-</span>
</div>
</c-col>
</c-row>
</template>
<template slot-scope="scope">
<el-button size="mini" @click="handleEdit(scope.$index, scope.row)" type="primary">详情
</el-button>
</template>
</el-table-column>
</el-table-column>
</c-table>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Botdcr/Event"
import Utils from "~/utils";
import Ptap from "~/views/Public/Ptap";
export default {
components: { "c-ptap": Ptap },
inject: ['root'],
props: ["model", "codes"],
mixins: [commonProcess],
data() {
return {
newValue: {
rol:"",
ptyextkey:"",
nam:"",
ref:"",
},
ptyp2: [
{ label: "TPO 第三当事人", value: "TPO" },
{ label: "TP1 第一第三当事人 .", value: "TP1" },
{ label: "TP2 第二第三当事人", value: "TP2" },
{ label: "TP3 第三第三当事人", value: "TP3" },
{ label: "TP4 第四第三当事人", value: "TP4" },
{ label: "TP5 第五第三当事人", value: "TP5" },
{ label: "TP6 第六第三当事人", value: "TP6" },
{ label: "TP7 第七第三当事人", value: "TP7" },
{ label: "TP8 第八第三当事人", value: "TP8" },
],
}
},
methods: {
...Event,
addTableValue(index) {
var newTableValue = Object.assign({}, this.newValue);
const serial = Utils.generateUUID();
newTableValue.serialNum = serial;
this.model.botp.ptsaddp.ptsaddg.splice(index - 1, 0, newTableValue);
},
deleteTable(index) {
this.model.botp.ptsaddp.ptsaddg.splice(index, 1);
},
},
created: function () {
}
}
</script>
<style>
</style>
\ No newline at end of file
<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 :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane label="费用/账务" name="engp,setpan,glepan">
<c-content>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="表外记账" name="engp">
<!-- 表外记账 -->
<m-engp :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="结算" name="setpan">
<!-- 结算 -->
<m-setpan :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="会计分录" name="glepan">
<!-- 会计分录 -->
<m-glepan :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</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="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-function-btn
:handleSubmit="handleSubmit"
:handleCheck="handleCheck"
:handleStash="handleStash"
>
</c-function-btn>
</div>
</c-page>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import commonFuncs from "~/mixin/commonFuncs";
import Botrad from "~/model/Botrad"
import commonProcess from "~/mixin/commonProcess"
import Check from "~/model/Botrad/Check"
import Default from "~/model/Botrad/Default"
import Glepan from "~/views/Public/Glepan";
import Botrad1 from "./Botrad"
import Ptyp from "./Ptyp"
import Addbcb from "./Addbcb";
import Ovwp from "./Ovwp"
import Engp from "~/views/Public/Engp"
import Setpan from "~/components/business/setmod/views"
import Pattern from "~/model/Botrad/Pattern"
import Coninfp from "~/views/Public/Coninfp"
import Docpan from "~/views/Public/Docpan"
import Doctre from "~/views/Public/Doctre"
export default {
name: "Botrad",
components: {
"m-addbcb": Addbcb,
"m-ovwp": Ovwp,
"m-botrad1": Botrad1,
"m-ptyp": Ptyp,
"m-setpan": Setpan,
"m-coninfp": Coninfp,
"m-engp": Engp,
"m-docpan": Docpan,
"m-doctre": Doctre,
"m-glepan":Glepan,
},
provide() {
return {
root: this
}
},
mixins: [commonProcess, commonFuncs], // 里面包含了Default、Check等的公共处理
data() {
return {
tabVal: "ovwp",
trnName: "botrad",
model: new Botrad().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
...CodeTable
},
activeNames: ["engp"],
}
},
methods: {
// myTabClick(tab) {
// this.tabClick(tab)
// /**
// * do it yourself
// **/
// }
},
created: async function () {
console.log("进入botrad交易");
let rtnmsg = await this.init({})
if (rtnmsg.respCode == SUCCESS) {
this.updateModel(rtnmsg.data)
//TODO 处理数据逻辑
if (this.isInDisplay) {
this.restoreDisplay();
}
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
}
}
</script>
<style>
</style>
......@@ -143,30 +143,6 @@ export default class Botdav {
},
},
},
// setmod:{
// docamttyplab:"", // settled amount description as label .setmod.docamttyplab
// retmsg:"", // Label showing Retry overflow condition .setmod.retmsg
// ref:"", // our reference .setmod.ref
// doccur:"", // document currency .setmod.doccur
// docamt:"", // document amount .setmod.docamt
// dspflg:"", // Type of settlement .setmod.dspflg
// xreflg:"", // Recalculate Rates .setmod.xreflg
// setglg:{
// labdspflg:"", // Label for Type of Settlement .setmod.setglg.labdspflg
// setgll:[]
// },
// zmqacclab:"", // 主�'�号LABEL .setmod.zmqacclab
// zmqacc:"", // 自�'�区主�'�号 .setmod.zmqacc
// setfog:{
// setfol:[]
// },
// setfeg:{
// setfel:[]
// },
// glemod:{
// gleshwstm: {}
// }
// },
setmod: new Pub().data.Setmod,
mtabut: {
coninf: {
......@@ -190,24 +166,6 @@ export default class Botdav {
},
},
},
// trnmod:{
// trndoc:{
// advlabel:"", // ADVLABEL .trnmod.trndoc.advlabel
// amdnam:"", // AMDNAM .trnmod.trndoc.amdnam
// advdoc:"", // 国内证通知书 .trnmod.trndoc.advdoc
// advnam:"", // 国内证落款 .trnmod.trndoc.advnam
// amdapl:"", // 修改申请人名称 .trnmod.trndoc.amdapl
// doclbl:"", // Lable for CONDOCSTM .trnmod.trndoc.doclbl
// doctrestm:"", // Document tree .trnmod.trndoc.doctrestm
// shwinc:"", // Show Incoming Messages .trnmod.trndoc.shwinc
// shwout:"", // Show Outgoing Messages .trnmod.trndoc.shwout
// condocstm:"", // Connected Documents .trnmod.trndoc.condocstm
// rcvatt:{
// seainf:"", // .trnmod.trndoc.rcvatt.seainf
// },
// filrecv:"", // File Receiver .trnmod.trndoc.filrecv
// },
// },
trnmod: new Pub().data.Trnmod,
cnybop: {
cnyflg: "", // 是否报送跨境人民币2101表 .cnybop.cnyflg
......
......@@ -70,5 +70,6 @@ const Business = [
{ path: 'infbod', component: () => import('~/business/infbod/views'), name: 'infbod', meta: { title: '出口托收查询' } },
{ path: 'botsel', component: () => import('~/business/botsel/views'), name: 'botsel', meta: { title: '出口托收入口交易BOTSEL' } },
{ path: 'botacc', component: () => import('~/business/botacc/views'), name: 'botacc', meta: { title: '出口托收承兑' } },
{ path: 'botdav', component: () => import('~/business/botdav/views'), name: 'botdav', 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