Commit fa33373d by liaoxing

Merge branch 'settle-test-20230110' of http://114.115.138.98:8900/fukai/vue-gjjs…

Merge branch 'settle-test-20230110' of http://114.115.138.98:8900/fukai/vue-gjjs into settle-test-20230110
parents 4157b4c4 5b9a5ab6
......@@ -28,6 +28,11 @@ export default {
...params,
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
bodgrp:{
rec:{
inr:this.$route.query.inr
}
}
});
if (!res.data) {
return
......
......@@ -105,6 +105,8 @@ import Engp from "~/views/Public/Engp";
import Glepan from "~/views/Public/Glepan";
import Ovwp from "./Ovwp.vue";
import event from "../event";
export default {
name: "Botcan",
components: {
......@@ -122,7 +124,7 @@ export default {
root: this,
};
},
mixins: [commonProcess,commonFuncs], // 里面包含了Default、Check等的公共处理
mixins: [commonProcess,commonFuncs,event], // 里面包含了Default、Check等的公共处理
data() {
return {
tabVal: "ovwp",
......@@ -139,19 +141,8 @@ export default {
methods: {
// tabClick() {},
},
created: async function() {
console.log("进入botcan交易");
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: "服务请求失败!" });
}
mounted () {
this.init()
},
};
</script>
......
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',
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/botdcr/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 Pub from "@/components/business/commonModel";
import Pts from '~/components/business/commonModel/Pts';
export default class Botdcr {
constructor() {
this.data = {
botdrrl1blk: "",
botdrrl2blk: "",
botcoll1blk: "",
bodgrp: {
rec: {
matpertyp: "", // Days/Months or Years for Maturity Period .bodgrp.rec.matpertyp
ownref: "", // Reference .bodgrp.rec.ownref
nam: "", // Name .bodgrp.rec.nam
doctypcod: "", // Collection Condition .bodgrp.rec.doctypcod
docsta: "", // Document Set Status .bodgrp.rec.docsta
matdat: "", // Maturity Date .bodgrp.rec.matdat
matpercnt: "", // Tenor Specification .bodgrp.rec.matpercnt
matperbeg: "", // Start of Maturity Period MATBEG .bodgrp.rec.matperbeg
rcvdat: "", // Order Date .bodgrp.rec.rcvdat
predat: "", // Presentation Date .bodgrp.rec.predat
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
},
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
},
},
drr: {
pts: new Pts().data,
},
col: {
pts: new Pts().data,
},
dre: {
pts: new Pts().data,
},
blk: {
docpre:"", // bodgrp.blk.docpre
resrej: "", // Reason for Non-Payment/Non-Acceptance .bodgrp.blk.resrej
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
},
},
botp: {
recget: {
sdamod: {
dadsnd: "", // Drag Drop Sender .botp.recget.sdamod.dadsnd
seainf: "", // .botp.recget.sdamod.seainf
},
},
matp: {
mattxtlab: "", // Label for MATTXT .botp.matp.mattxtlab
},
docgrdm: {
docdsclab: "", // Label of document description .botp.docgrdm.docdsclab
docgrd: [], //docgrdm.docgrd
},
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
},
},
rejtypsel: "", // .rejtypsel
setmod: new Pub().data.Setmod,
mtabut: new Pub().data.Mtabut,
trnmod: new Pub().data.Trnmod,
liaall: new Pub().data.Liaall,
liaccv: new Pub().data.Liaccv,
docpan: new Pub().data.Docpan,
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="附言" name="coninfp">
<m-coninfp :model="model" :codes="codes"/>
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from "../event"
import Coninfp from "~/views/Public/Coninfp";
export default {
components: {
"m-coninfp": Coninfp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["coninfp"],
};
},
methods: {},
created: function () {
},
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eibs">
<!-- ==================左边================ -->
<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="请输入托收业务编号"
style="width: 100%"
disabled></c-input>
<template slot="footer">
<c-button style="margin:0 0 0 10px;padding: 0 12px;" size="small" type="primary" icon="el-icon-search">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</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></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>
</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="请输入单据状态" disabled
:code="codes.docstabot">
</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%"
placeholder="请选择" disabled :code="codes.matperbeg">
</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="rejtypsel">
<c-select v-model="model.rejtypsel" style="width:100%" placeholder="拒单类型"
:code="codes.rejtypsel">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="clsflg">
<c-checkbox v-model="clsflg" :disabled="model.rejtypsel != 'R'">闭卷</c-checkbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="拒绝付款或承兑的原因" prop="bodgrp.blk.resrej">
<c-fullbox>
<c-input type="textarea" :autosize="{ minRows: 5, maxRows: 20 }" v-model="model.bodgrp.blk.resrej"
maxlength="700" show-word-limit
placeholder="请输入拒绝付款或承兑的原因">
</c-input>
<template slot="footer">
<c-button size="small" type="primary" icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
</c-col>
<!-- ============右边================= -->
<c-col :span="12" style="padding-left: 20px;">
<c-col :span="24">
<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="请输入收款人" disabled></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',
}" :disabledDocnam="model.rejtypsel != 'R'" :disabledCmail2="model.rejtypsel != 'R'"
:disabledCmail1="model.rejtypsel != 'R'" :ifShowAdd="model.rejtypsel == 'R'"
:ifShowDelete="model.rejtypsel == 'R'">
</c-docpre>
</c-col>
</div>
</template>
<script>
import event from "../event"
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: [event],
data() {
return {
matpertyp: [
{label: "天", value: "D"},
{label: "月", value: "M"},
],
}
},
computed: {
clsflg: {
get() {
return this.model.rejtypsel == "R";
},
set(val) {
this.model.mtabut.clsflg = val ? "C" : "O";
},
}
},
methods: {},
created: function () {}
}
</script>
<style>
.messageLabel >>> .el-form-item__label {
text-align: left;
font-weight: bold;
font-size: 12px;
}
</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="放单指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" v-model="model.bodgrp.blk.colins" maxlength="65" show-word-limit
placeholder="请输入放单指示条款" disabled>
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="bodgrp.blk.colinsflg" style=" float:right;">
<c-checkbox v-model="colinsflg" disabled>修改放单指示条款</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="请输入汇票指示条款" disabled>
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="拒绝证书指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" v-model="model.bodgrp.blk.proins" maxlength="65" show-word-limit
placeholder="请输入拒绝证书指示条款" disabled>
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="其它指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" v-model="model.bodgrp.blk.othins" maxlength="65" show-word-limit
placeholder="请输入其它指示条款" disabled>
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="仓储/保险指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" v-model="model.bodgrp.blk.delins" maxlength="65" show-word-limit
placeholder="请输入仓储/保险指示条款" disabled>
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
</c-col>
<!-- ============右边================= -->
<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.chato" disabled>
</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 disabled
placeholder="请输入手续费支付的附加详述"></c-input >
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="bodgrp.rec.focflg" label-width="120px" style=" float:right;">
<c-checkbox v-model="model.bodgrp.rec.focflg" disabled>无偿放单选项</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="请选择拒绝证书指示条款" disabled
: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%" disabled
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="请选择延期付款期限" disabled
: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" disabled>
<c-select v-model="model.bodgrp.cbs.opn1.cur" style="width:100%" placeholder="请选择托收金额" disabled
:code="codes.cur">
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="" prop="bodgrp.rec.lescom" label-width="5px">
<c-input style="padding-top:15px; margin: 0 0 0 5px" v-model="model.bodgrp.rec.lescom" placeholder="请输入托收金额" disabled></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 () {
},
computed:{
colinsflg:{
get(){
return this.model.bodgrp.blk.colinsflg ==="X";
},
set(val){
this.model.bodgrp.blk.colinsflg=val ? "X":"";
},
},
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse-item title="拒收" name="botdcrp1">
<m-botdcrp1 ref="setp" :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="指示条款" name="inst">
<m-inst :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="参与方" name="ptyp">
<m-ptyp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</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 Botdcrp1 from "./Botdcrp1"
import Inst from "./Inst"
import Ptyp from "./Ptyp"
export default {
components: {
"m-botdcrp1": Botdcrp1,
"m-inst": Inst,
"m-ptyp": Ptyp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess],
data() {
return {
activeNames: ["botdcrp1"],
};
},
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-ptap
:model="model"
:argadr="{
title: '收款人',
grp: 'bodgrp',
rol: 'drr',
}"
:disabledRef="true"
: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 :span="12" style="padding-left: 20px;">
<c-ptap
:model="model"
:argadr="{
title: '代收行',
grp: 'bodgrp',
rol: 'col',
}"
:disabledRef="true"
:disabledExtkey="true"
: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" @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 event from '../event'
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>
<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="setmod">
<!-- 结算 -->
<m-setmod :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"
@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 Botdcr from "../model"
import formRules from '../model/check'
import Botdcrp1 from "./Botdcrp1"
import Inst from "./Inst"
import Ptyp from "./Ptyp"
import Addbcb from "./Addbcb";
import Ovwp from "./Ovwp"
import Engp from "~/views/Public/Engp"
import Setmod from "~/components/business/setmod/views"
import Coninfp from "~/views/Public/Coninfp"
import Docpan from "~/views/Public/Docpan"
import Glepan from "~/views/Public/Glepan"
import Doctre from "~/views/Public/Doctre"
import operationFunc from "@/mixin/operationFunc";
import event from "../event";
export default {
name: "Botdcr",
components: {
"m-addbcb": Addbcb,
"m-ovwp": Ovwp,
"m-botdcrp1": Botdcrp1,
"m-inst": Inst,
"m-ptyp": Ptyp,
"m-glepan": Glepan,
"m-setmod": Setmod,
"m-coninfp": Coninfp,
"m-engp": Engp,
"m-docpan": Docpan,
"m-doctre": Doctre,
},
provide() {
return {
root: this
}
},
mixins: [operationFunc, event], // 里面包含了Default、Check等的公共处理
data() {
return {
tabVal: "ovwp",
trnName: "botdcr",
model: new Botdcr().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 () {
},
mounted() {
this.init()
},
}
</script>
<style>
</style>
export default {
buildPtspta (ptsptaObj) {
let pts = ptsptaObj.pts;
let ptspta = {
rol: pts.rol,
name: pts.nam,
ptyinr: pts.ptyinr,
ptainr: pts.ptainr,
extkey: pts.extkey,
dftdsp: pts.dftdsp,
dftcur: pts.dftcur,
dftact: pts.dftact,
dftfeecur: pts.dftfeecur,
dftactptainr: pts.dftactptainr,
glggrpflg: pts.glggrpflg,
adrblk: pts.adrblk
};
return ptspta;
},
buildCommonData (model, trnName) {
let ptsptaList = [];
if (model.bodgrp.col.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bodgrp.col));
}
if (model.bodgrp.drr.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bodgrp.drr));
}
if (model.bodgrp.dre.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bodgrp.dre));
}
let dataObj = {
rec: {
objtyp: 'BOD',
// objinr: model.bedgrp.rec.inr,
ownref: model.bodgrp.rec.ownref,
opndat: model.bodgrp.rec.opndat,
expdat: model.bodgrp.rec.expdat,
branchInr: model.bodgrp.rec.branchinr,
docamt: model.setmod.docamt,
doccur: model.setmod.doccur,
doctypcod: model.bodgrp.rec.doctypcod,
// hndtyp: model.bodgrp.rec.hndtyp,
// gartyp: model.bodgrp.rec.gartyp,
// fingua: model.bodgrp.rec.fingua,
// fromflg: model.bodgrp.rec.fromflg,
// othersno: model.bodgrp.rec.othersno,
// sndto: model.bodgrp.rec.sndto,
// giduil: model.bodgrp.rec.giduil,
// purpos: model.bodgrp.rec.purpos,
// revflg: model.bodgrp.rec.revflg,
// cnfsta: model.bodgrp.rec.cnfsta,
},
cbsMap: {
MAX: model.bodgrp.cbs.max,
OPN1: model.bodgrp.cbs.opn1,
// MAC: model.bodgrp.cbs.mac,
// MAC2: model.bodgrp.cbs.mac2,
// OPC2: model.bodgrp.cbs.opc2,
// CNF: model.bodgrp.cbs.cnf,
},
ptsList: ptsptaList,
transName: trnName,
userId: window.sessionStorage.userId ? window.sessionStorage.userId : 'ZL'
};
return dataObj
},
buildSetfeg (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaall: model.liaall,
liaccv: model.liaccv,
// doceot: model.trnmod.trndoc.doceot,
};
return params
},
buildSetglg (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
setfeg: model.setmod.setfeg,
liaall: model.liaall,
liaccv: model.liaccv,
};
return params
},
buildGlentry (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaallg: model.liaall.liaallg,
setfog: model.setmod.setfog,
setfeg: model.setmod.setfeg,
setglg: model.setmod.setglg,
};
return params
},
buildEngp (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaallg: model.liaall.liaallg,
};
return params
},
buildDocpan (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
};
return params
},
buildCcvpan (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaccvg: model.liaccv.liaccvg,
oldamt: model.liaccv.oldamt,
chgamt: model.liaccv.chgamt,
concur: model.liaccv.concur,
};
return params
},
buildLimitbody (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'BOD',
objinr: model.bodgrp.rec.inr,
ownref: model.bodgrp.rec.ownref,
},
};
return params
},
buildDoctre (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'BOD',
objinr: model.bodgrp.rec.inr,
ownref: model.bodgrp.rec.ownref,
// swiftflg: model.gitp.swiftflg,
},
};
return params
},
// 公共组件setmod中dsp字段改变,触发联动时候的入参
buildSetgllAccts (model, trnName, setglg) {
let params = {
...this.buildCommonData(model, trnName),
setglg
};
return params
}
}
\ No newline at end of file
import Api from '~/service/Api';
import commonFunctions from '~/mixin/commonFunctions.js';
import buildFn from './buildCommons.js';
import setmod from '~/components/business/setmod/event';
import glentry from '~/components/business/glentry/event';
import engp from '~/components/business/engp/event';
import docpan from '~/components/business/docpan/event';
import ccvpan from '~/components/business/ccvpan/event';
import limitbody from '~/components/business/limitbody/event';
import doctre from '~/components/business/doctre/event';
import Utils from "~/utils"
export default {
mixins: [commonFunctions],
methods: {
...setmod,
...glentry,
...engp,
...docpan,
...ccvpan,
...limitbody,
...doctre,
async init () {
const params = {
spt: JSON.parse(localStorage.getItem('row_' + this.trnName)),
trnmod:{
trn:JSON.parse(localStorage.getItem('review_'+this.trnName))
}
}
const res = await Api.post('/service/botset/init', {
...params,
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
bodgrp:{
rec:{
inr: this.$route.query.inr
}
},
});
if (!res.data) {
return
}
this.copyValueFromVoData(this.model, res.data)
this.copyValueFromVoData(this.model.setmod.setfeg, res.data.setfeg)
this.copyValueFromVoData(this.model.setmod.setfog, res.data.setfog)
this.copyValueFromVoData(this.model.setmod.setglg, res.data.setglg)
},
// 兼容处理在前端model中定义了字段,后端返回的数据中不存在字段的问题
copyValueFromVoData (model, data) {
let keysList = Object.keys(model)
keysList.map((key) => {
if (data[key]) {
if (Utils.typeOf(model[key]) === 'Object') {
this.copyValueFromVoData(model[key], data[key])
} else {
this.$set(model, key, data[key])
}
}
})
},
async tabClick(tab) {
if (this.isInDisplay) {
return;
}
let name = tab.name;
switch (name) {
case 'ccvpan':
let ccvpanRequest = buildFn.buildCcvpan(this.model, this.trnName);
this.processLiaccv(ccvpanRequest);
break;
case 'engp':
let engpRequest = buildFn.buildEngp(this.model, this.trnName);
this.processLiaall(engpRequest);
break;
case 'setmod':
let setfegRequest = buildFn.buildSetfeg(this.model, this.trnName);
// 此处利用回调是为了等setfeg的接口调用完成后才去获取setglg参数,由于setglg参数依赖于setfeg函数的返回值
this.processSetpan(setfegRequest, () => {
return buildFn.buildSetglg(this.model, this.trnName);
});
break;
case 'docpan':
let docpanRequest = buildFn.buildDocpan(this.model, this.trnName);
this.processTrndoc(docpanRequest);
break;
case 'glepan':
let glentryRequest = buildFn.buildGlentry(this.model, this.trnName);
this.processGlentry(glentryRequest);
break;
case 'limitbody':
let limitbodyRequest = buildFn.buildLimitbody(this.model, this.trnName);
this.processLimitbody(limitbodyRequest);
break;
case 'doctre':
let doctreRequest = buildFn.buildDoctre(this.model, this.trnName);
this.processDoctre(doctreRequest);
break;
default:
return;
}
},
// 点击获取按钮拉取当前key字段下的表单数据
queryFormData(key) {
console.log(key);
},
// 业务信息=》基本信息=》保函编号-----获取保函编号
async queryOwnref() {
let params = {
ptainr: this.model.gidgrp.apl.pts.ptainr,
businessType: 'LG',
tbl: 'LG',
};
const loading = this.loading();
let res = await Api.post('/service/gitopn/getOwnRef', params);
if (res.respCode == SUCCESS) {
loading.close();
this.model.gidgrp.rec.ownref = res.data;
}
},
// 获取gitopn弹框表格数据
async queryGridEtyPromptDialogData(type, ptytyp) {
let params = {
userId: window.sessionStorage.userId || 'ZL',
ptytyp: ptytyp,
extkey: this.model.gidgrp[type.toLowerCase()].pts.extkey,
};
let res = await Api.post('/service/ptspta/list', params);
if (res.respCode == SUCCESS) {
this.root.$refs['etyDialog'].show = true;
this.root.promptData.data = res.data.ptaInfos;
this.root.promptData.type = type;
}
},
// 选中gitopn弹框表格的行数据
async selectGridEtyPromptData(row) {
let params = {
...row,
};
let res = await Api.post('/service/ptspta/fetch', params);
if (res.respCode == SUCCESS) {
this.$set(this.model.gidgrp, row.role.toLowerCase(), res.data);
}
},
// 业务信息=》基本信息=》支出目的
purposChange(key, value) {
this.handleChangeForm(key, value);
},
// 初始化保函开立类型码表下拉列表
async queryHndtypCodeTableList(trnName) {
let params = {
gitp: {
swiftflg: this.model.gitp.swiftflg,
},
gidgrp: {
rec: {
purpos: this.model.gidgrp.rec.purpos,
},
},
transName: trnName.toUpperCase(),
};
let res = await Api.post('/service/gitopn/initHndtyp', params);
if (res.respCode == SUCCESS) {
this.$set(this.codes, 'voHndtyp', res.data);
}
},
// 是否SWIFT格式修改--联动保函开立类型
handleChangeSwiftflg() {
this.queryHndtypCodeTableList(this.root.trnName);
},
// 支出目的修改--联动保函开立类型
handleChangePurpos() {
this.queryHndtypCodeTableList(this.root.trnName);
},
buildLiaccv () {
let params = {
...buildFn.buildCommonData(this.model, this.trnName),
liaccvg: this.model.liaccv.liaccvg,
oldamt: this.model.liaccv.oldamt,
chgamt: this.model.liaccv.chgamt,
concur: this.model.liaccv.concur,
};
return params
},
// 公共组件setmod处理方式改变触发联动
changeSetmodModel (emitParams) {
let reqParams = {}
switch (emitParams.code) {
case 'processMethods':
reqParams = buildFn.buildSetglg(this.model, this.trnName);
this.calcPayDetail(reqParams)
break
case 'changeDsp':
let index = emitParams.index;
let setglgRequest = buildFn.buildSetglg(this.model, this.trnName);
setglgRequest.setglg = {setgll: emitParams.list};
this.setgllAccts(setglgRequest, index);
break
default:
return
}
}
},
};
import Pts from '~/components/business/commonModel/Pts';
import Pub from '~/components/business/commonModel/index.js';
export default class Botset {
constructor() {
this.data = {
cnybop: {
sbankname: '',
outflg: '',
cnyflg: '',
cnyinc: {
sorilevyno: '',
spayeeacct: '',
spayeeorgcode: '',
foffshoreamt: '',
cpayeeattr: '',
spayercountrycode: '',
fcustomsamt: '',
spayeracct: '',
frecordamt: '',
sbankorgcode: '',
sbanktrano: '',
fonshoreamt: '',
dpayeedate: '',
spayeecny: '',
spk: '',
ftotalamt: '',
iaccountperiod: '',
sbalancemode: '',
smidtransbank: '',
sswiftbic: '',
cpayeraccttyp: '',
fpayeeamt: '',
fprepayeeamt: '',
fnogoodsamt: ''
},
incscale: '',
spayername: '',
traflg: '',
saddword: '',
vouflg: '',
libflg: '',
spayeename: ''
},
bopmod: {
outchargeamt: '',
dbap: {
baspp: {
acp: ''
}
},
outchargeccy: '',
dbdp: {
baspp: {
acp: ''
}
},
ownextkey: '',
dbagrp: {
bas: {
actiontype: '',
custype: '',
buscode: '',
outchargeamt: '',
inchargeamt: '',
othacc: '',
custnm: '',
methods: '',
oppuser: '',
lcyacc: '',
inchargeccy: '',
rptno: '',
actiondesc: '',
txccy: '',
lcyamt: '',
outchargeccy: '',
ownextkey: '',
idcode: '',
fcyamt: '',
othamt: '',
exrate: '',
fcyacc: '',
txamt: '',
custcod: ''
}
},
acttyp: '',
dbdgrp: {
bas: {
actiontype: '',
custype: '',
buscode: '',
inchargeamt: '',
othacc: '',
custnm: '',
methods: '',
oppuser: '',
lcyacc: '',
inchargeccy: '',
rptno: '',
actiondesc: '',
txccy: '',
lcyamt: '',
ownextkey: '',
idcode: '',
fcyamt: '',
othamt: '',
exrate: '',
fcyacc: '',
txamt: '',
custcod: ''
}
},
szflg: '',
basflg: ''
},
bodgrp: {
blk: {
colins: '',
dftins: '',
delins: '',
othins: '',
chgtxt: '',
colinsflg: '',
proins: ''
},
rec: {
rcvdat: '',
predat: '',
matpercnt: '',
ownref: '',
docsta: '',
matperbeg: '',
wairmtcod: '',
doctypcod: '',
chato: '',
othins: '',
lescom: '',
waicolcod: '',
matdat: '',
nam: '',
focflg: ''
},
col: {
pts: new Pts().data
},
cbs: {
opn1: {
cur: '',
amt: '',
},
max: {
cur: '',
amt: ''
}
},
drr: {
pts: new Pts().data
},
dre: {
pts: new Pts().data
}
}
,
lendoc: {
actflg: '',
decnum: '',
vercerref: '',
account: ''
},
bptbck: {
bptbckg: ''
},
setmod: new Pub().data.Setmod,
mtabut: new Pub().data.Mtabut,
trnmod: new Pub().data.Trnmod,
liaall: new Pub().data.Liaall,
liaccv: new Pub().data.Liaccv,
docpan: new Pub().data.Docpan,
};
}
}
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="附言" name="coninfp">
<m-coninfp :model="model" :codes="codes"/>
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from "../event"
import Coninfp from "~/views/Public/Coninfp";
export default {
components: {
"m-coninfp": Coninfp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["coninfp"],
};
},
methods: {},
created: function () {
},
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="外管信息" name="wg">
<m-wg :model="model" :codes="codes"/>
</el-collapse-item>
<el-collapse-item title="涉外收入申请单-基础信息" name="basp3"
v-if="model.bopmod.szflg=='1' && model.bopmod.basflg=='X'">
<m-basp3 :model="model" :codes="codes"/>
</el-collapse-item>
<el-collapse-item title="境内收入申请单-基础信息" name="basp2"
v-if="model.bopmod.szflg=='2' && model.bopmod.basflg=='X'">
<m-basp2 :model="model" :codes="codes"/>
</el-collapse-item>
<el-collapse-item title="跨境人民币申报" name="cnyp1">
<m-cnyp1 :model="model" :codes="codes"/>
</el-collapse-item>
<!--cnybop PD000001 2101跨境收入信息 -->
<el-collapse-item title="2101跨境收入信息" name="incp" v-if="model.cnybop.cnyflg=='1'">
<m-incp :model="model" :codes="codes"/>
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import commonProcess from "~/mixin/commonProcess";
import event from "../event"
import Wg from "./Wg";
import Cnyp1 from "./Cnyp1";
import Incp from "./Incp";
import Basp2 from "./Basp2";
import Basp3 from "./Basp3";
const tabNameToRulePathMapping = {
"basp2": "bopmod.dbdp.basp",
"basp3": "bopmod.dbap.basp",
"incp": "cnybop.incp",
}
export default {
inject: ["root"],
components: {
"m-basp2": Basp2,
"m-basp3": Basp3,
"m-wg": Wg,
"m-cnyp1": Cnyp1,
"m-incp": Incp,
},
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["wg"],
};
},
methods: {},
created: function () {
},
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eibs">
<!-- ==================左边================ -->
<c-col :span="12" style="padding-right: 20px;">
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2101表" label-width="30%" prop="cnybop.cnyflg">
<c-select v-model="model.cnybop.cnyflg" style="width:100%" placeholder="请选择是否报送跨境人民币2101表"
:code="codes.cnyflg" :disabled="model.bodgrp.cbs.max.cur!='CNY'">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2107表" label-width="30%" prop="cnybop.traflg">
<c-select v-model="model.cnybop.traflg" style="width:100%" placeholder="请选择是否报送跨境人民币2107表"
:code="codes.traflg" :disabled="true">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2111表" label-width="30%" prop="cnybop.outflg">
<c-select v-model="model.cnybop.outflg" style="width:100%" placeholder="请选择是否报送跨境人民币2111表"
:code="codes.outflg" :disabled="true">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2106表" label-width="30%" prop="cnybop.libflg">
<c-select v-model="model.cnybop.libflg" style="width:100%" placeholder="请选择是否报送跨境人民币2106表"
:code="codes.libflg" :disabled="true">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="是否报送跨境人民币2122表" label-width="30%" prop="cnybop.vouflg">
<c-select v-model="model.cnybop.vouflg" style="width:100%" placeholder="请选择是否报送跨境人民币2122表"
:code="codes.vouflg" :disabled="true">
</c-select>
</el-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
import event from "../event"
export default {
inject: ['root'],
props: ["model", "codes"],
mixins: [event],
data() {
return {}
},
methods: {},
created: function () {
this.model.cnybop.cnyflg = '2';
this.model.cnybop.traflg = '2';
this.model.cnybop.outflg = '2';
this.model.cnybop.libflg = '2';
this.model.cnybop.vouflg = '2';
}
}
</script>
<style>
</style>
<template>
<div class="eibs">
<!-- ==================左边================ -->
<c-col :span="12" style="padding-right: 20px;">
<c-col :span="24">
<el-form-item
label="验证证书编号"
prop="lendoc.vercerref"
>
<c-input
type="textarea"
v-model="model.lendoc.vercerref"
maxlength="20"
show-word-limit
placeholder="请输入验证证书编号"
></c-input>
</el-form-item>
</c-col>
</c-col>
<!-- ============右边================= -->
<c-col :span="12" style="padding-left: 20px;">
<c-col :span="24">
<el-form-item label="ACT" prop="lendoc.account">
<c-fullbox>
<c-input
v-model="model.lendoc.account"
maxlength="75"
style="width: 100%"
placeholder="请输入"
:disabled="!actflg"
></c-input>
<template slot="footer">
<el-form-item label="" prop="lendoc.actflg">
<c-checkbox v-model="actflg" style="margin-left: 10px"
>输入账号</c-checkbox
>
</el-form-item>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="申报编号" prop="lendoc.decnum">
<c-input
v-model="model.lendoc.decnum"
maxlength="22"
placeholder="请输入申报编号"
></c-input>
</el-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
import event from "../event"
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {};
},
computed: {
actflg: {
get() {
return this.model.lendoc.actflg === "X";
},
set(val) {
this.model.lendoc.actflg = val ? "X" : "";
},
},
},
methods: {},
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eibs">
<!-- ==================左边================ -->
<c-col :span="12" style="padding-right: 20px;">
<c-col :span="24">
<c-form-item label="业务主键 " prop="cnybop.cnyinc.spk">
<c-input disabled v-model="model.cnybop.cnyinc.spk" maxlength="20" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="银行机构名称" prop="cnybop.sbankname">
<c-input disabled v-model="model.cnybop.sbankname" maxlength="80" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="银行机构代码" prop="cnybop.cnyinc.sbankorgcode">
<c-input disabled v-model="model.cnybop.cnyinc.sbankorgcode" maxlength="12" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="收款人账号" prop="cnybop.cnyinc.spayeeacct">
<c-input v-model="model.cnybop.cnyinc.spayeeacct" maxlength="32" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="收款人名称" prop="cnybop.spayeename">
<c-input v-model="model.cnybop.spayeename" maxlength="80" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="收款人属性" prop="cnybop.cnyinc.cpayeeattr">
<c-select v-model="model.cnybop.cnyinc.cpayeeattr" style="width:100%" placeholder="">
<el-option
v-for="item in codes.cpayeeattr"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="付款人名称" prop="cnybop.spayername">
<c-input v-model="model.cnybop.spayername" maxlength="80" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="结算方式" prop="cnybop.cnyinc.sbalancemode">
<c-select v-model="model.cnybop.cnyinc.sbalancemode" style="width:100%" placeholder="">
<el-option
v-for="item in codes.sbalancemode"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label=" 清算(结算)帐户类型" prop="cnybop.cnyinc.cpayeraccttyp">
<c-select v-model="model.cnybop.cnyinc.cpayeraccttyp" style="width:100%" placeholder="">
<el-option
v-for="item in codes.cpayeraccttyp"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="清算(结算)账户账号" prop="cnybop.cnyinc.spayeracct">
<c-input v-model="model.cnybop.cnyinc.spayeracct" maxlength="32" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="收款日期" prop="cnybop.cnyinc.dpayeedate">
<c-date-picker type="date" v-model="model.cnybop.cnyinc.dpayeedate" style="width:100%"
placeholder=""></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="收款币种" prop="cnybop.cnyinc.spayeecny">
<c-select v-model="model.cnybop.cnyinc.spayeecny" style="width:100%" placeholder="">
<el-option
v-for="item in codes.curtxt1"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="原币金额" prop="cnybop.cnyinc.ftotalamt">
<c-input v-model="model.cnybop.cnyinc.ftotalamt" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="货物贸易收款金额" prop="cnybop.cnyinc.fpayeeamt">
<c-input v-model="model.cnybop.cnyinc.fpayeeamt" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="已报关收款金额" prop="cnybop.cnyinc.fcustomsamt">
<c-input v-model="model.cnybop.cnyinc.fcustomsamt" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="已备案收款金额" prop="cnybop.cnyinc.frecordamt">
<c-input v-model="model.cnybop.cnyinc.frecordamt" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="交易附言" prop="cnybop.saddword">
<c-input v-model="model.cnybop.saddword" maxlength="80" placeholder=""></c-input>
</c-form-item>
</c-col>
</c-col>
<!-- ============右边================= -->
<c-col :span="12" style="padding-left: 20px;">
<c-col :span="24">
<c-form-item label="银行业务编号" prop="cnybop.cnyinc.sbanktrano">
<c-input disabled v-model="model.cnybop.cnyinc.sbanktrano" maxlength="22" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="收款人机构代码或身份证件号码" prop="cnybop.cnyinc.spayeeorgcode">
<c-input v-model="model.cnybop.cnyinc.spayeeorgcode" maxlength="18" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="21">
<c-form-item label="付款人常驻国家(地区)代码" prop="cnybop.cnyinc.spayercountrycode">
<c-input v-model="model.cnybop.cnyinc.spayercountrycode" maxlength="3" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="3">
<c-button size="small" type="primary" icon="el-icon-search" @click="onIncctySelbut1">
</c-button>
</c-col>
<c-col :span="24">
<c-form-item label="付款行SWIFT BIC" prop="cnybop.cnyinc.sswiftbic">
<c-input v-model="model.cnybop.cnyinc.sswiftbic" maxlength="11" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="中间转汇行" prop="cnybop.cnyinc.smidtransbank">
<c-input v-model="model.cnybop.cnyinc.smidtransbank" maxlength="11" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="预收款比例" prop="cnybop.incscale">
<c-input v-model="model.cnybop.incscale" maxlength="4" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="预收款金额" prop="cnybop.cnyinc.fprepayeeamt">
<c-input v-model="model.cnybop.cnyinc.fprepayeeamt" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="结帐期" prop="cnybop.cnyinc.iaccountperiod">
<c-input v-model="model.cnybop.cnyinc.iaccountperiod" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="原申报号码" prop="cnybop.cnyinc.sorilevyno">
<c-input v-model="model.cnybop.cnyinc.sorilevyno" maxlength="24" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="无货物报关进出境物流货物金额" prop="cnybop.cnyinc.fonshoreamt">
<c-input v-model="model.cnybop.cnyinc.fonshoreamt" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="无货物报关离岸转手买卖金额" prop="cnybop.cnyinc.foffshoreamt">
<c-input v-model="model.cnybop.cnyinc.foffshoreamt" placeholder=""></c-input>
</c-form-item>
</c-col>
<c-col :span="24">
<c-form-item label="无货物报关其他金额" prop="cnybop.cnyinc.fnogoodsamt">
<c-input v-model="model.cnybop.cnyinc.fnogoodsamt" placeholder=""></c-input>
</c-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
import event from "../event"
export default {
inject: ['root'],
props: ["model", "codes"],
mixins: [event],
data() {
return {}
},
methods: {},
created: function () {
}
}
</script>
<style>
</style>
<template>
<div class="eibs">
<!-- ==================左边================ -->
<c-col :span="12" style="padding-right: 20px;">
<c-col :span="24">
<el-form-item label="放单指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" v-model="model.bodgrp.blk.colins" maxlength="3250" :rows="3" show-word-limit
placeholder="请输入放单指示条款" disabled>
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="bodgrp.blk.colinsflg">
<c-checkbox disabled v-model="colinsflg">放单指示条款修改</c-checkbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="汇票指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" disabled v-model="model.bodgrp.blk.dftins" maxlength="390" :rows="5"
show-word-limit
placeholder="请输入汇票指示条款">
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="拒绝证书指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" disabled v-model="model.bodgrp.blk.proins" maxlength="130" :rows="2"
show-word-limit
placeholder="请输入拒绝证书指示条款">
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="其它指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" disabled v-model="model.bodgrp.blk.othins" maxlength="390" :rows="5"
show-word-limit
placeholder="请输入其它指示条款">
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="仓储/保险指示条款" style="padding-top:15px">
<c-fullbox>
<c-input type="textarea" disabled v-model="model.bodgrp.blk.delins" maxlength="130" :rows="2"
show-word-limit
placeholder="请输入仓储/保险指示条款">
</c-input>
<template slot="footer">
<c-button size="small" type="primary" disabled icon="el-icon-more">
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
</c-col>
<!-- ============右边================= -->
<c-col :span="12" style="padding-left: 20px;">
<c-col :span="24" style="width:100%">
<el-form-item label="费用承担条款" prop="bodgrp.rec.chato" style="padding-top:15px">
<c-select disabled v-model="model.bodgrp.rec.chato" style="width:100%" placeholder="请选择条款"
:code="codes.chadet">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24" style="width:100%">
<el-form-item label="手续费支付的附加详述" prop="bodgrp.blk.chgtxt" style="padding-top:15px">
<c-input type="textarea" disabled v-model="model.bodgrp.blk.chgtxt" maxlength="210" :rows="5" show-word-limit
placeholder="请输入手续费支付的附加详述"></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<c-checkbox disabled v-model="model.bodgrp.rec.focflg" style="padding-left:10px">无偿放单选项</c-checkbox>
</c-col>
<c-col :span="24" style="width:100%">
<el-form-item label="交单时是否放弃向代收行收取费用的权力" prop="bodgrp.rec.waicolcod" style="padding-top:15px">
<c-select disabled v-model="model.bodgrp.rec.waicolcod" style="width:100%"
placeholder="请选择拒绝证书指示条款"
:code="codes.waicolcod">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24" style="width:100%">
<el-form-item label="放单时是否放弃向托收行收取费用的权力" prop="bodgrp.rec.wairmtcod" style="padding-top:15px">
<c-select disabled v-model="model.bodgrp.rec.wairmtcod" style="width:100%"
placeholder="请选择放单时是否放弃向托收行收取费用的权力" :code="codes.wairmtcod">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24" style="width:100%">
<el-form-item label="延期付款期限" prop="bodgrp.rec.othins" style="padding-top:15px">
<c-select disabled v-model="model.bodgrp.rec.othins" style="width:100%" placeholder="请选择延期付款期限"
:code="codes.othins">
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="面函提示" prop="bodgrp.cbs.opn1.cur" style="padding-top:15px">
<c-select disabled v-model="model.bodgrp.cbs.opn1.cur" style="width: 100%" placeholder="请选择"
:code="codes.cur">
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="" prop="bodgrp.rec.lescom" label-width="5px">
<c-input style="padding-top:15px; margin: 0 0 0 5px" disabled v-model="model.bodgrp.rec.lescom"
placeholder="请输入"></c-input>
</el-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
import event from "../event"
export default {
inject: ['root'],
props: ["model", "codes"],
mixins: [event],
data() {
return {}
},
methods: {},
created: function () {},
computed: {
colinsflg: {
get() {
return this.model.bodgrp.blk.colinsflg === "X";
},
set(val) {
this.model.bodgrp.blk.colinsflg = val ? "X" : "";
},
},
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="资金结算" name="setp">
<m-setp ref="setp" :model="model" :codes="codes"/>
</el-collapse-item>
<el-collapse-item title="指示条款" name="inst">
<m-inst :model="model" :codes="codes"/>
</el-collapse-item>
<el-collapse-item title="参与方" name="ptyp">
<m-ptyp :model="model" :codes="codes"/>
</el-collapse-item>
<el-collapse-item title="收账通知" name="docpan1">
<m-docpan1 :model="model" :codes="codes"/>
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from "../event"
import Setp from "./Setp"
import Inst from "./Inst"
import Ptyp from "./Ptyp"
import Docpan1 from "./Docpan1"
export default {
components: {
"m-docpan1": Docpan1,
"m-setp": Setp,
"m-inst": Inst,
"m-ptyp": Ptyp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["setp"],
};
},
methods: {},
created: function () {},
computed: {},
};
</script>
<style>
.marginLable {
padding-left: 160px;
}
</style>
\ No newline at end of file
<template>
<div class="eibs">
<!-- ==================左边================ -->
<c-col :span="12" style="padding-right: 20px;">
<c-ptap
:model="model"
:argadr="{
title: '收款人',
grp: 'bodgrp',
rol: 'drr',
}"
:disabled="true"
:disabledRef="true"
:disabledExtkey="true"
>
</c-ptap>
<c-ptap
:model="model"
:argadr="{
title: '付款人',
grp: 'bodgrp',
rol: 'dre',
}"
:disabled="true"
:disabledRef="true"
:disabledExtkey="true"
>
</c-ptap>
</c-col>
<!-- ============右边================= -->
<c-col :span="12" style="padding-left: 20px;">
<c-ptap
:model="model"
:argadr="{
title: '代收行',
grp: 'bodgrp',
rol: 'col',
}"
:disabled="true"
:disabledRef="true"
:disabledExtkey="true"
>
</c-ptap>
</c-col>
<c-col :span="24">
<c-edit-table :model="model" v-bind="ptsaddg">
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button
size="mini"
@click="handleEdit(scope.$index, scope.row)"
type="primary"
>详情
</el-button
>
</template>
</el-table-column>
</c-edit-table>
</c-col>
</div>
</template>
<script>
import event from "../event"
import Ptap from "~/views/Public/Ptap";
export default {
components: {"c-ptap": Ptap},
inject: ['root'],
props: ["model", "codes"],
mixins: [event],
data() {
return {
ptsaddg: {
columns: [
{
title: "角色",
width: "120px",
dataIndex: "rol",
show: "select",
},
{
title: "机构实体",
width: "180px",
dataIndex: "ptyextkey",
show: "input",
},
{
title: "名称",
width: "300px",
dataIndex: "nam",
},
{
title: "参考地址",
width: "300px",
dataIndex: "ref",
},
],
urls: "botp.ptsaddp.ptsaddg",
},
}
},
methods: {},
created: function () {
}
}
</script>
<style>
</style>
<template>
<div class="eibs">
<!-- ==================左边================ -->
<c-col :span="12" style="padding-right: 20px;">
<c-col :span="24">
<c-fullbox>
<el-form-item label="申报类型" prop="bopmod.szflg">
<c-select
@change="selectOrCheckboxRule('bopmod.szflg')"
v-model="model.bopmod.szflg"
style="width: 100%"
placeholder="请选择申报类型"
>
<el-option
v-for="item in codes.szflg"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
<template slot="footer">
<el-form-item label="" prop="bopmod.basflg">
<c-checkbox
:disabled="model.bopmod.szflg=='3' || model.bopmod.szflg==''"
v-model="model.bopmod.basflg"
style="margin-left: 10px"
>基础数据
</c-checkbox
>
</el-form-item>
</template>
</c-fullbox>
</c-col>
<c-col :span="24">
<el-form-item label="款项来源" prop="bopmod.acttyp">
<c-select
v-model="model.bopmod.acttyp"
style="width: 100%"
placeholder="请选择款项来源"
:disabled="model.bopmod.szflg!='1'"
>
<el-option
v-for="item in acttyp"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
</c-col>
<!-- ============右边================= -->
<c-col :span="12" style="padding-left: 20px;">
<c-col :span="24">
<el-form-item label="地区机构号" prop="bopmod.ownextkey">
<c-select
v-model="model.bopmod.ownextkey"
style="width: 100%"
placeholder="请选择地区机构号"
:disabled="model.bopmod.szflg=='3' || model.bopmod.szflg==''"
>
<el-option
v-for="item in ownextkey"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<c-col :span="12">
<el-form-item label="国外银行扣费(涉外收入申报专用)" prop="bopmod.outchargeccy">
<c-select
v-model="model.bopmod.outchargeccy"
placeholder="请选择国外银行扣费(涉外收入申报专用)"
disabled
style="width: 100%"
>
<el-option
v-for="item in codes.cur"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="" label-width="5px" prop="bopmod.outchargeamt">
<c-input-currency
v-model="model.bopmod.outchargeamt"
placeholder="请输入国外银行扣费(涉外收入申报专用)"
:disabled="model.bopmod.szflg!='1' || model.lendoc.actflg!='X'"
@keyup.enter.native="defaultFunction('bopmod.outchargeamt', model.bopmod.outchargeamt)"
></c-input-currency>
</el-form-item>
</c-col>
</c-col>
</c-col>
</div>
</template>
<script>
import event from "../event"
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
acttyp: [
{label: "境外", value: "(JW)"},
{label: "境内非居民", value: "(JN)"},
],
ownextkey: [
{label: "08350012 北京分行", value: "08350012"},
{label: "083507113 LM ADD", value: "08357113"},
],
};
},
watch: {
"model.bopmod.szflg": function () {
if (this.model.bopmod.szflg == "3" || this.model.bopmod.szflg == "") {
this.model.lendoc.actflg = ""
}
},
},
methods: {},
created: function () {
},
};
</script>
<style>
</style>
<template>
<c-page title="出口托收收汇">
<div class="eContainer">
<el-form :model="model" :rules="rules" ref="modelForm" label-width="120px" label-position="right" size="small"
:validate-on-rule-change="false">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
<el-tab-pane label="业务信息" name="ovwp">
<c-content>
<m-ovwp ref="ovwp" :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
<el-tab-pane label="统一授信" name="limitbody">
<c-content>
<m-limitbody :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
<el-tab-pane label="表外记账" name="engp">
<c-content>
<!-- 表外记账 -->
<m-engp :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
<!--PD000027 -->
<el-tab-pane label="费用/账务" name="setmod">
<c-content>
<m-setmod
:model="model"
:codes="codes"
@changeSetmodModel="changeSetmodModel"
/>
</c-content>
</el-tab-pane>
<!--PD000027 -->
<el-tab-pane label="会计分录" name="glepan">
<c-content>
<m-glentry :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
<el-tab-pane label="备查/附言" name="addbcb">
<c-content>
<m-addbcb :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
<el-tab-pane label="申报信息" name="cnyp">
<c-content>
<m-cnyp :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
<el-tab-pane label="报文/面函" name="docpan">
<c-content>
<m-docpan :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
<el-tab-pane label="附件信息" name="doctre">
<c-content>
<m-doctre :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<c-grid-ety-prompt-dialog
ref="etyDialog"
:promptData="promptData"
@select-ety="selectGridEtyPromptData"
>
</c-grid-ety-prompt-dialog>
<c-function-btn
:handleSubmit="handleSubmit"
:handleCheck="handleCheck"
:handleStash="handleStash"
>
</c-function-btn>
</div>
</c-page>
</template>
<script>
import CodeTable from "~/config/CodeTable"
import Botset from "../model"
import formRules from '../model/check'
import event from "../event"
import Addbcb from "./Addbcb";
import Ovwp from "./Ovwp"
import Setp from "./Setp"
import Inst from "./Inst"
import Ptyp from "./Ptyp"
import Docpan1 from "./Docpan1"
import Wg from "./Wg"
import Cnyp from "./Cnyp"
import Basp2 from "./Basp2"
import Basp3 from "./Basp3"
import Incp from "./Incp"
import Engp from "~/components/business/engp/views";
import Setmod from "~/components/business/setmod/views";
import Glentry from "~/components/business/glentry/views";
import Coninfp from "~/components/business/coninfp/views";
import Docpan from "~/components/business/docpan/views";
import Doctre from "~/components/business/doctre/views";
import Limitbody from "~/components/business/limitbody/views";
import operationFunc from "@/mixin/operationFunc";
export default {
name: "Botset",
components: {
"m-addbcb": Addbcb,
"m-ovwp": Ovwp,
"m-setp": Setp,
"m-inst": Inst,
"m-ptyp": Ptyp,
"m-engp": Engp,
"m-setmod": Setmod,
"m-glentry": Glentry,
"m-coninfp": Coninfp,
"m-docpan": Docpan,
"m-doctre": Doctre,
"m-wg": Wg,
"m-cnyp": Cnyp,
"m-limitbody": Limitbody,
"m-docpan1": Docpan1,
"m-basp2": Basp2,
"m-basp3": Basp3,
"m-incp": Incp,
},
provide() {
return {
root: this
}
},
mixins: [operationFunc, event], // 里面包含了Default、Check等的公共处理
data() {
return {
tabVal: "ovwp",
trnName: "botset",
model: new Botset().data,
rules: formRules,
codes: {
...CodeTable,
},
activeNames: ["engp"],
promptData: {
title: 'Select a Party',
columns: [
{
prop: 'ptyInr',
label: 'Party Number'
},
{
prop: 'inr',
label: 'Address Number'
},
{
prop: 'branch',
label: 'Branch Code'
},
{
prop: 'bchName',
label: 'Branch Name'
},
{
prop: 'adrName',
label: 'Address Name'
},
{
prop: 'adr1',
label: 'Address1'
},
{
prop: 'locCty',
label: 'City'
},
{
prop: 'locZip',
label: 'Zip'
},
{
prop: 'bicCode',
label: 'BIC'
}
],
data: []
},
}
},
computed: {
actflg: {
get() {
return this.model.lendoc.actflg === "X";
},
set(val) {
this.model.lendoc.actflg = val ? "X" : "";
},
},
},
methods: {},
created: async function () {
},
mounted() {
this.init()
},
}
</script>
<style>
</style>
......@@ -72,5 +72,8 @@ const Business = [
{ path: 'botacc', component: () => import('~/business/botacc/views'), name: 'botacc', meta: { title: '出口托收承兑' } },
{ path: 'botdav', component: () => import('~/business/botdav/views'), name: 'botdav', meta: { title: '出口托收寄单' } },
{ path: 'botcan', component: () => import('~/business/botcan/views'), name: 'botcan', meta: { title: '出口托收注销' } },
{ path: 'botset', component: () => import('~/business/botset/views'), name: 'botset', meta: { title: '出口托收收汇' } },
{ path: 'botdcr', component: () => import('~/business/botdcr/views'), name: 'botdcr', meta: { title: '出口托收拒付/不符点处理' } },
{ path: 'botrad', component: () => import('~/business/botrad/views'), name: 'botrad', 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