Commit 2c69c03b by liaoxing

botame交易页面添加

parent e92d7be8
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/botacc/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',保函用的是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;
// }
// },
// 获取弹框表格数据
async queryGridEtyPromptDialogData(type, ptytyp) {
let params = {
userId: window.sessionStorage.userId || 'ZL',
ptytyp: ptytyp,
extkey: this.model.bodgrp[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;
}
},
// 选中弹框表格的行数据
async selectGridEtyPromptData(row) {
let params = {
...row,
};
let res = await Api.post('/service/ptspta/fetch', params);
if (res.respCode == SUCCESS) {
this.$set(this.model.bodgrp, row.role.toLowerCase(), res.data);
}
},
// 业务信息=》基本信息=》支出目的
purposChange(key, value) {
this.handleChangeForm(key, value);
},
// 初始化保函开立类型码表下拉列表
async queryHndtypCodeTableList(trnName) {
let params = {
botp: {
swiftflg: this.model.botp.swiftflg,
},
bodgrp: {
rec: {
purpos: this.model.bodgrp.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 Api from "~/service/Api"
import Pts from "../Common/Pts"
import Pub from "../Public"
export default class Botame{
constructor () {
this.data = {
botcoll2blk:"",
botcoll1blk:"",
botdrrl1blk:"",
bodgrp:{
rec:{
ownref:"", // Reference .bodgrp.rec.ownref
nam:"", // Name .bodgrp.rec.nam
matpertyp:"", // Days/Months or Years for Maturity Period .bodgrp.rec.matpertyp
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:"",
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,
},
col:{
pts:new Pts().data,
},
dre:{
pts:new Pts().data,
},
},
botamep:{
recget:{
sdamod:{
seainf:"", // Reference .botamep.recget.sdamod.seainf
dadsnd:"", // Drag Drop Sender .botamep.recget.sdamod.dadsnd
},
},
amedat:"", // Amendment Date .botamep.amedat
},
oldbodgrp:{
cbs:{
max:{
cur:"", // Original Amount .oldbodgrp.cbs.max.cur
amt:"", // Original Amount .oldbodgrp.cbs.max.amt
},
},
rec:{
matpercnt:"", // Tenor Data .oldbodgrp.rec.matpercnt
matpertyp:"", // Days/Months or Years for Maturity Period .oldbodgrp.rec.matpertyp
matperbeg:"", // Start of Maturity Period MATBEG .oldbodgrp.rec.matperbeg
matdat:"", // Maturity Date .oldbodgrp.rec.matdat
},
},
botp:{
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
},
},
},
ptsaddp:{
ptsaddg:[], // .botp.ptsaddp.ptsaddg
},
},
pageId: "", // ctx的key
setmod: new Pub().data.Setmod,
mtabut: new Pub().data.Mtabut,
trnmod: new Pub().data.Trnmod,
liaall: new Pub().data.Liaall,
liaccv: new Pub().data.Liaccv,
docpan: new Pub().data.Docpan,
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames" @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>
<!-- <c-row>-->
<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="请输入放单指示条款" >
</c-input>
<template slot="footer">
<c-button size="small" type="primary" icon="el-icon-more"
@click="showGridPromptDialog('botp.colins.buttxmsel', null, null,{TXT: ''}, {TXT: false},'doxpDialog')"
>
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="bodgrp.blk.colinsflg" >
<c-checkbox v-model="colinsflg" style="margin-right:80px;">放单指示条款修改</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="390" :rows="5" show-word-limit
placeholder="请输入汇票指示条款">
</c-input>
<template slot="footer">
<c-button size="small" type="primary" icon="el-icon-more"
@click="showGridPromptDialog('botp.dftins.buttxmsel', null, null,{TXT: 'bodgrp.blk.dftins'}, {TXT: false},'doxpDialog')">
</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="130" :rows="2" show-word-limit
placeholder="请输入拒绝证书指示条款">
</c-input>
<template slot="footer">
<c-button size="small" type="primary" icon="el-icon-more"
@click="showGridPromptDialog('botp.proins.buttxmsel', null, null,{TXT: 'bodgrp.blk.proins'}, {TXT: false},'doxpDialog')"
>
</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="390" :rows="5" show-word-limit
placeholder="请输入其它指示条款">
</c-input>
<template slot="footer">
<c-button size="small" type="primary" icon="el-icon-more"
@click="showGridPromptDialog('botp.othins.buttxmsel', null, null,{TXT: 'bodgrp.blk.othins'}, {TXT: false},'doxpDialog')"
>
</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="130" :rows="2" show-word-limit
placeholder="请输入仓储/保险指示条款">
</c-input>
<template slot="footer">
<c-button size="small" type="primary" icon="el-icon-more"
@click="showGridPromptDialog('botp.whins.buttxmsel', null, null,{TXT: 'bodgrp.blk.delins'}, {TXT: false},'doxpDialog')"
>
</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="210" :rows="5" show-word-limit
placeholder="请输入手续费支付的附加详述"></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item class="checkbox-right">
<c-checkbox v-model="model.bodgrp.rec.focflg" >无偿放单选项</c-checkbox>
</el-form-item>
</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 disabled v-model="model.bodgrp.cbs.opn1.cur" placeholder="请选择Document Amount" style="width: 100%"
:code="codes.cur">
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<c-input style="padding-top:15px; margin: 0 0 0 5px" v-model="model.bodgrp.rec.lescom" placeholder="请输入Document Amount"></c-input>
</c-col>
</c-col>
<!-- </c-row>-->
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Botdav/Event"
export default {
inject: ['root'],
props: ["model", "codes"],
mixins: [commonProcess],
data() {
return {
}
},
methods: { ...Event },
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">
<!-- ==================左边================ -->
<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" :autosize="{ minRows: 6, maxRows: 8}"
v-model="model.bodgrp.blk.setinsbo" style="width:100%"
maxlength="390" 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"
@click="showGridPromptDialog('botp.setins.buttxmsel', null, null,{TXT: 'bodgrp.blk.setinsbo'}, {TXT: false},'doxpDialog')"></c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<!-- <c-col :span="22">-->
<!-- <el-form-item label="结算条款" prop="bodgrp.blk.setinsbo" label-width="180px">-->
<!-- <c-input type="textarea" :autosize="{ minRows: 6, maxRows: 8}" -->
<!-- v-model="model.bodgrp.blk.setinsbo" style="width:100%;margin-right:20px;" -->
<!-- maxlength="390" show-word-limit placeholder="请输入结算条款" -->
<!-- ></c-input>-->
<!-- </el-form-item>-->
<!-- </c-col>-->
<!-- <c-col :span="2">-->
<!-- <c-button size="small" type="primary" icon="el-icon-more" @click="showGridPromptDialog('botp.setins.buttxmsel', null, null,{TXT: 'bodgrp.blk.setinsbo'}, {TXT: false},'doxpDialog')">-->
<!-- </c-button>-->
<!-- </c-col> -->
<!-- </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 Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Botdav/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames" @change="handleChange">
<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="amep">
<m-amep :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/Botame/Event";
import Ovwp1 from "./Ovwp1"
import Inst from "./Inst"
import Ptyp from "./Ptyp"
import Instrecp from "./Instrecp"
import Amep from "./Amep"
export default {
components: {
"m-ovwp1": Ovwp1,
"m-inst": Inst,
"m-ptyp": Ptyp,
"m-instrecp":Instrecp,
"m-amep":Amep,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess],
data() {
return {
activeNames: ["ovwp1"],
};
},
methods: {
...Event,
},
created: function () {},
computed: {
},
};
</script>
<style>
.marginLable {
padding-left: 160px;
}
</style>
\ No newline at end of file
<template>
<c-row>
<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"
>
</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="scope.row.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="scope.row.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">
<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>
</c-row>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Botame/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: "TP0 第三当事人", value: "TP0" },
{ 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(){
console.log(this.root);
}
}
</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,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-grid-ety-prompt-dialog
ref="etyDialog"
:promptData="promptData"
v-on:select-ety="selectEty"
>
</c-grid-ety-prompt-dialog>
<c-grid-ety-prompt-dialog
ref="doxpDialog"
:isPty="false"
:promptData="promptData"
@select-ety="selectMsg"
>
</c-grid-ety-prompt-dialog>
<c-function-btn
:handleSubmit="handleSubmit"
:handleCheck="handleCheck"
:handleStash="handleStash"
>
<!-- <el-button size="small">备忘录</el-button>
<el-button size="small">影像信息</el-button>
<el-button size="small">保存模板</el-button>
<el-button size="small">使用模板</el-button>
<el-button size="small">制裁信息</el-button>
<el-button size="small">拆分报文</el-button>
<el-button size="small">智能提示</el-button> -->
</c-function-btn>
</div>
</c-page>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Botame from "~/model/Botame"
import commonProcess from "~/mixin/commonProcess"
import commonFuncs from "~/mixin/commonFuncs";
import Check from "~/model/Botame/Check"
import Default from "~/model/Botame/Default"
import Pattern from "~/model/Botame/Pattern"
import Addbcb from "./Addbcb";
import Amep from "./Amep"
import Ovwp from "./Ovwp"
import Inst from "./Inst"
import Ptyp from "./Ptyp"
import Instrecp from "./Instrecp"
import Setpan from "~/components/business/setmod/views"
import Glepan from "~/views/Public/Glepan"
import Coninfp from "~/views/Public/Coninfp"
import Docpan from "~/views/Public/Docpan"
import Doctre from "~/views/Public/Doctre"
import Engp from "~/views/Public/Engp"
export default {
name: "Botame",
components:{
"m-addbcb": Addbcb,
"m-amep" : Amep,
"m-ovwp" : Ovwp,
"m-inst" : Inst,
"m-ptyp" : Ptyp,
"m-instrecp" : Instrecp,
"m-setpan" : Setpan,
"m-glepan" : Glepan,
"m-coninfp" : Coninfp,
"m-docpan" : Docpan,
"m-doctre" : Doctre,
"m-engp": Engp,
},
provide() {
return {
root: this
}
},
mixins: [commonProcess,commonFuncs], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "ovwp",
trnName: "botame",
model: new Botame().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
...CodeTable,
},
activeNames:["engp"],
}
},
methods:{
},
created:async function(){
console.log("进入botame交易");
let rtnmsg = await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
this.updateModel(rtnmsg.data);
if (this.isInDisplay) {
this.restoreDisplay();
}
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
}
}
</script>
<style>
</style>
<template>
<ReviewWrapper>
<Botame></Botame>
</ReviewWrapper>
</template>
<script>
import Botame from "~/business/botame/views";
import { ReviewWrapper } from "~/components/gj-common.min.js";
export default {
name: "ReviewBotame",
components: { ReviewWrapper, Botame },
created() {},
mounted() {},
};
</script>
<style></style>
......@@ -75,5 +75,6 @@ const Business = [
{ path: 'botset', component: () => import('~/business/botset/views'), name: 'botset', meta: { title: '出口托收收汇' } },
{ path: 'botdcr', component: () => import('~/business/botdcr/views'), name: 'botdcr', meta: { title: '出口托收拒付/不符点处理' } },
{ path: 'botrad', component: () => import('~/business/botrad/views'), name: 'botrad', meta: { title: '出口托收二次寄单' } },
{ path: 'botame', component: () => import('~/business/botame/views'), name: 'botame', meta: { title: '出口托收修改' } },
]
export default Business
\ No newline at end of file
......@@ -34,6 +34,7 @@ const Business = [
{ path: 'reviewlitdla', component: () => import('~/review/ReviewLitdla.vue'), name: 'reviewlitdla', meta: { title: '复核-litdla' } },
{ path: 'reviewlitrog', component: () => import('~/review/ReviewLitrog.vue'), name: 'reviewlitrog', meta: { title: '复核-litrog' } },
{ path: 'reviewbotcan', component: () => import('~/review/ReviewBotcan.vue'), name: 'reviewbotcan', meta: { title: '复核-botcan' } },
{ path: 'reviewbotame', component: () => import('~/review/ReviewBotame.vue'), name: 'reviewbotame', meta: { title: '复核-botame' } },
......
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