Commit 21e4d2a1 by liaoxing

cctset 添加

parent a7bd8a83
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.ccdgrp.pre.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.ccdgrp.pre));
}
if (model.ccdgrp.dro.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.ccdgrp.dro));
}
if (model.ccdgrp.col.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.ccdgrp.col));
}
let dataObj = {
rec: {
objtyp: 'CCD',
objinr: model.ccdgrp.rec.inr,
ownref: model.ccdgrp.rec.ownref,
opndat: model.ccdgrp.rec.opndat,
expdat: model.ccdgrp.rec.expdat,
branchInr: model.ccdgrp.rec.branchinr,
hndtyp: model.ccdgrp.rec.hndtyp,
},
cbsMap: {
MAX: model.ccdgrp.cbs.max,
OPN1: model.ccdgrp.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: 'CCD',
objinr: model.ccdgrp.rec.inr,
ownref: model.ccdgrp.rec.ownref,
},
};
return params
},
buildDoctre (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'CCD',
objinr: model.ccdgrp.rec.inr,
ownref: model.ccdgrp.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/cctset/init', {
...params,
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
ccdgrp:{
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 'setpan':
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;
// cctdav用到的接口
// case 'setinsp':
// let params = {
// ccdgrp:{
// rec:{
// modset: this.model.ccdgrp.rec.modset,
// },
// cbs: this.model.ccdgrp.cbs,
// }
// };
// let res = await Api.post('/service/ccttra/getSetins', params);
// if (res.respCode == SUCCESS) {
// this.model.ccdgrp.blk.setins = res.data;
// }
// break;
default:
return;
}
},
// 业务信息=》基本信息=》托收业务编号-----获取托收业务编号
async getCcdgrpOwnRef() {
let params = {
ptainr: this.model.ccdgrp.pre.pts.ptainr,
businessType: 'CC',
tbl: 'CC',
};
const loading = this.loading();
let res = await Api.post('/service/cctset/getOwnRef', params);
if (res.respCode == SUCCESS) {
loading.close();
this.model.ccdgrp.rec.ownref = res.data;
}
},
// 点击获取按钮拉取当前key字段下的表单数据
queryFormData(key) {
console.log(key);
},
// 获取cctset弹框表格数据
async queryGridEtyPromptDialogData(type, ptytyp) {
let params = {
userId: window.sessionStorage.userId || 'ZL',
ptytyp: ptytyp,
extkey: this.model.ccdgrp[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;
}
},
// 选中cctset弹框表格的行数据
async selectGridEtyPromptData(row) {
let params = {
...row,
};
let res = await Api.post('/service/ptspta/fetch', params);
if (res.respCode == SUCCESS) {
this.$set(this.model.ccdgrp, row.role.toLowerCase(), res.data);
}
},
// 业务信息=》基本信息=》支出目的
purposChange(key, value) {
this.handleChangeForm(key, value);
},
// 初始化保函开立类型码表下拉列表
async queryHndtypCodeTableList(trnName) {
let params = {
cctp: {
swiftflg: this.model.cctp.swiftflg,
},
ccdgrp: {
rec: {
purpos: this.model.ccdgrp.rec.purpos,
},
},
transName: trnName.toUpperCase(),
};
let res = await Api.post('/service/cctset/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 Utils from "~/utils"
/**
* Cctset Check规则
*/
let checkObj = {
"ccdgrp.dro.pts.nam" :null,
"setmod.dspflg" :null,
"ccdgrp.rec.frepayflg" :null,
"liaall.tenstm" :null,
"setmod.redamt" :null,
"ccdgrp.pre.pts.nam" :null,
"mtabut.coninf.conexedat" :null,
"setmod.docamt" :null,
"cctp0.recget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ccdgrp.rec.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"ccdgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"cctp0.recget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"ccdgrp.cbs.max.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"ccdgrp.pre.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ccdgrp.pre.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"ccdgrp.cbs.opn1.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"ccdgrp.dro.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ccdgrp.rec.chkdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"ccdgrp.dro.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"ccdgrp.rec.ccform":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"ccdgrp.col.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ccdgrp.rec.purflg":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"ccdgrp.col.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"liaall.tenstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"setmod.redamt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"setmod.docamt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"trnmod.trndoc.advnam":[
{type: "string", required: false, message: "必输项"},
{max: 50,message:"长度不能超过50"}
],
"trnmod.trndoc.amdapl":[
{type: "string", required: true, message: "必输项"},
{max: 50,message:"长度不能超过50"}
],
"trnmod.trndoc.advdoc":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"trnmod.trndoc.filrecv":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"trnmod.trndoc.doctrestm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"trnmod.trndoc.condocstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"trnmod.trndoc.rcvatt.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"mtabut.coninf.oitinf.oit.inftxt":[
{type: "string", required: true, message: "必输项"},
{max: 60,message:"长度不能超过60"}
],
"mtabut.coninf.oitset.oit.inftxt":[
{type: "string", required: true, message: "必输项"},
{max: 60,message:"长度不能超过60"}
],
"mtabut.coninf.conexedat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"mtabut.coninf.usr.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"setmod.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"setmod.zmqacc":[
{type: "string", required: false, message: "必输项"},
{max: 20,message:"长度不能超过20"}
],
"setmod.glemod.gleshwstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
}
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
import Pts from '~/components/business/commonModel/Pts';
import Pub from '~/components/business/commonModel/index.js';
export default class Cctset {
constructor() {
this.data = {
// bopmod_dbap_bopgatl1blk:"",
// bopmod_dbdp_bopimpl1blk:"",
// lendoc_botsetl1blk:"",
ccdgrp: {
rec: {
ownref: "", // Our Reference .ccdgrp.rec.ownref
nam: "", // Name of CC contract .ccdgrp.rec.nam
chkdat: "", // Date of Draft .ccdgrp.rec.chkdat
ccform: "", // Form of Clean Coll. .ccdgrp.rec.ccform
purflg: "", // Payment disposition .ccdgrp.rec.purflg
frepayflg: "", // Free of Payment Flag .ccdgrp.rec.frepayflg
branchinr: "",
inr: "",
},
cbs: {
max: {
cur: "", // Currency .ccdgrp.cbs.max.cur
amt: "", // Currency .ccdgrp.cbs.max.amt
},
opn1: {
cur: "", // Currency .ccdgrp.cbs.opn1.cur
amt: "", // Currency .ccdgrp.cbs.opn1.amt
},
},
pre: {
pts: new Pts().data,
},
dro: {
pts: new Pts().data,
},
col: {
pts: new Pts().data,
},
},
lendoc: {
actflg: "", // Input Account .lendoc.actflg
account: "", // ACT .lendoc.account
vercerref: "", // Verification Certificate Number .lendoc.vercerref
decnum: "", // Declaration Number .lendoc.decnum
},
cctp0: {
recget: {
sdamod: {
seainf: "", // .cctp0.recget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .cctp0.recget.sdamod.dadsnd
},
},
},
bopmod:{
dbdp:{
baspp:{
cusnam:"", // .bopmod.dbdp.baspp.cusnam
cornam:"", // .bopmod.dbdp.baspp.cornam
corpnam:"", // .bopmod.dbdp.baspp.corpnam
roptnam:"", // RoptNam .bopmod.dbdp.baspp.roptnam
exratelab:"", // �'�汇/结汇汇率 .bopmod.dbdp.baspp.exratelab
lcyamtlab:"", // �'�汇/结汇金额 .bopmod.dbdp.baspp.lcyamtlab
acp:"", // 确认 .bopmod.dbdp.baspp.acp
tmprefnew:"", // TMPREFLABEL .bopmod.dbdp.baspp.tmprefnew
},
},
dbdgrp:{
bas:{
tmpref:"", // �'时申报流�'号 .bopmod.dbdgrp.bas.tmpref
ownextkey:"", // 地区机构号 .bopmod.dbdgrp.bas.ownextkey
actiontype:"", // 操作类型 .bopmod.dbdgrp.bas.actiontype
rptno:"", // 申报号码 .bopmod.dbdgrp.bas.rptno
idcode:"", // 身份证件号码 .bopmod.dbdgrp.bas.idcode
lcyacc:"", // 人民币帐号/银行卡号 .bopmod.dbdgrp.bas.lcyacc
fcyamt:"", // 现汇金额 .bopmod.dbdgrp.bas.fcyamt
fcyacc:"", // 外汇帐号/银行卡号 .bopmod.dbdgrp.bas.fcyacc
othamt:"", // 其它金额 .bopmod.dbdgrp.bas.othamt
othacc:"", // 其它帐号/银行卡号 .bopmod.dbdgrp.bas.othacc
methods:"", // 结算方式 .bopmod.dbdgrp.bas.methods
buscode:"", // 银行业务编号 .bopmod.dbdgrp.bas.buscode
custype:"", // 类型 .bopmod.dbdgrp.bas.custype
actiondesc:"", // 操作类型 .bopmod.dbdgrp.bas.actiondesc
exrate:"", // 结汇汇率 .bopmod.dbdgrp.bas.exrate
lcyamt:"", // 结汇金额 .bopmod.dbdgrp.bas.lcyamt
custnm:"", // 收款人名称 .bopmod.dbdgrp.bas.custnm
oppuser:"", // 付款人名称 .bopmod.dbdgrp.bas.oppuser
custcod:"", // 组织机构 .bopmod.dbdgrp.bas.custcod
inchargeccy:"", // 国内银行扣费 .bopmod.dbdgrp.bas.inchargeccy
inchargeamt:"", // 国内银行扣费 .bopmod.dbdgrp.bas.inchargeamt
txccy:"", // 收入款币种及金额 .bopmod.dbdgrp.bas.txccy
txamt:"",
},
}, // 收入款币种及金额 .bopmod.dbdgrp.bas.txamt
dbap:{
baspp:{
cusnam:"", // .bopmod.dbap.baspp.cusnam
cornam:"", // .bopmod.dbap.baspp.cornam
corpnam:"", // .bopmod.dbap.baspp.corpnam
roptnam:"", // RoptNam .bopmod.dbap.baspp.roptnam
exratelab:"", // �'�汇/结汇汇率 .bopmod.dbap.baspp.exratelab
lcyamtlab:"", // �'�汇/结汇金额 .bopmod.dbap.baspp.lcyamtlab
acp:"", // 确认 .bopmod.dbap.baspp.acp
tmprefnew:"", // TMPREFLABEL .bopmod.dbap.baspp.tmprefnew
},
},
dbagrp:{
bas:{
tmpref:"", // �'时申报流�'号 .bopmod.dbagrp.bas.tmpref
ownextkey:"", // 地区机构号 .bopmod.dbagrp.bas.ownextkey
actiontype:"", // 操作类型 .bopmod.dbagrp.bas.actiontype
rptno:"", // 申报号码 .bopmod.dbagrp.bas.rptno
idcode:"", // 身份证件号码 .bopmod.dbagrp.bas.idcode
lcyacc:"", // 人民币帐号/银行卡号 .bopmod.dbagrp.bas.lcyacc
fcyamt:"", // 现汇金额 .bopmod.dbagrp.bas.fcyamt
fcyacc:"", // 外汇帐号/银行卡号 .bopmod.dbagrp.bas.fcyacc
othamt:"", // 其它金额 .bopmod.dbagrp.bas.othamt
othacc:"", // 其它帐号/银行卡号 .bopmod.dbagrp.bas.othacc
methods:"", // 结算方式 .bopmod.dbagrp.bas.methods
buscode:"", // 银行业务编号 .bopmod.dbagrp.bas.buscode
custype:"", // 类型 .bopmod.dbagrp.bas.custype
actiondesc:"", // 操作类型 .bopmod.dbagrp.bas.actiondesc
exrate:"", // 结汇汇率 .bopmod.dbagrp.bas.exrate
lcyamt:"", // 结汇金额 .bopmod.dbagrp.bas.lcyamt
custnm:"", // 收款人名称 .bopmod.dbagrp.bas.custnm
oppuser:"", // 付款人名称 .bopmod.dbagrp.bas.oppuser
custcod:"", // 组织机构 .bopmod.dbagrp.bas.custcod
inchargeccy:"", // 国内银行扣费 .bopmod.dbagrp.bas.inchargeccy
inchargeamt:"", // 国内银行扣费 .bopmod.dbagrp.bas.inchargeamt
outchargeamt:"", // 国外银行扣费 .bopmod.dbagrp.bas.outchargeamt
outchargeccy:"", // 国外银行扣费 .bopmod.dbagrp.bas.outchargeccy
txccy:"", // 收入款币种及金额 .bopmod.dbagrp.bas.txccy
txamt:"", // 收入款币种及金额 .bopmod.dbagrp.bas.txamt
},
},
szflg:"", // 申报类型 .bopmod.szflg
basflg:"", // 基础数据 .bopmod.basflg
dclflg:"", // 申报数据 .bopmod.dclflg
vrfflg:"", // 核销数据 .bopmod.vrfflg
ownextkey:"", // 地区机构号 .bopmod.ownextkey
outchargeccy:"", // 国外银行扣费(涉外收入申报专用) .bopmod.outchargeccy
outchargeamt:"", // 国外银行扣费(涉外收入申报专用) .bopmod.outchargeamt
acttyp:"", // 款项来源 .bopmod.acttyp
},
cnybop:{
cnyflg:"", // 是否报送跨境人民币2101表 .cnybop.cnyflg
traflg:"", // 是否报送跨境人民币2107表 .cnybop.traflg
outflg:"", // 是否报送跨境人民币2111表 .cnybop.outflg
libflg:"", // 是否报送跨境人民币2106表 .cnybop.libflg
vouflg:"", // 是否报送跨境人民币2122表 .cnybop.vouflg
cnyinc:{
spk:"", // 业务主键 .cnybop.cnyinc.spk
sbankorgcode:"", // 银行机构代码 .cnybop.cnyinc.sbankorgcode
spayeeorgcode:"", // 收款人机构代码 .cnybop.cnyinc.spayeeorgcode
sswiftbic:"", // 付款行SWIFT BIC .cnybop.cnyinc.sswiftbic
spayeracct:"", // 清算(结算)账户账号 .cnybop.cnyinc.spayeracct
smidtransbank:"", // 中�'转汇行 .cnybop.cnyinc.smidtransbank
dpayeedate:"", // 收款日期 .cnybop.cnyinc.dpayeedate
sbalancemode:"", // 结算方式 .cnybop.cnyinc.sbalancemode
sorilevyno:"", // 原申报号码 .cnybop.cnyinc.sorilevyno
sbanktrano:"", // 银行业务编号 .cnybop.cnyinc.sbanktrano
fpayeeamt:"", // 货物贸易收款金额 .cnybop.cnyinc.fpayeeamt
fcustomsamt:"", // 已报关收款金额 .cnybop.cnyinc.fcustomsamt
frecordamt:"", // 已备案收款金额 .cnybop.cnyinc.frecordamt
fprepayeeamt:"", // 预收款金额 .cnybop.cnyinc.fprepayeeamt
iaccountperiod:"", // 结�'�期 .cnybop.cnyinc.iaccountperiod
fonshoreamt:"", // 无货物报关进出境物流货物金额 .cnybop.cnyinc.fonshoreamt
foffshoreamt:"", // 无货物报关离岸转手买卖金额 .cnybop.cnyinc.foffshoreamt
fnogoodsamt:"", // 无货物报关其他金额 .cnybop.cnyinc.fnogoodsamt
cpayeeattr:"", // 收款人属性 .cnybop.cnyinc.cpayeeattr
cpayeraccttyp:"", // 清算(结算)帐户类型 .cnybop.cnyinc.cpayeraccttyp
spayercountrycode:"", // 付款人常驻国家(地区)代码 .cnybop.cnyinc.spayercountrycode
spayeecny:"", // 收款币种 .cnybop.cnyinc.spayeecny
spayeeacct:"", // 收款人账号 .cnybop.cnyinc.spayeeacct
ftotalamt:"", // 原币金额 .cnybop.cnyinc.ftotalamt
},
spayeename:"", // 收款人名称 .cnybop.spayeename
spayername:"", // 付款人名称 .cnybop.spayername
saddword:"", // 交易附言 .cnybop.saddword
sbankname:"", // 银行机构名称 .cnybop.sbankname
incscale:"", // INCSCALE .cnybop.incscale
},
bptbck:{
bptbckg:[], // .bptbck.bptbckg
dscbckcur:"", // currency discount paid back .bptbck.dscbckcur
},
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">
<c-col :span="12">
<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.ccdgrp.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: { ...Event },
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-tab">
<!-- ====================左边======================= -->
<c-col :span="11">
<c-col :span="24">
<el-form-item
label="验证证书编号"
prop="lendoc.vercerref"
>
<c-input
type="textarea"
v-model="model.lendoc.vercerref"
maxlength="200"
show-word-limit
placeholder="请输入验证证书编号"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="申报编号" prop="lendoc.decnum">
<c-input
v-model="model.lendoc.decnum"
maxlength="22"
style="width: 100%"
placeholder="请输入申报编号"
></c-input>
</el-form-item>
</c-col>
</c-col>
<!-- ====================右边======================= -->
<c-col :span="11" :offset="1">
<c-col :span="4">
<el-form-item label="输入账户" prop="lendoc.actflg">
<c-checkbox v-model="model.lendoc.actflg"></c-checkbox>
</el-form-item>
</c-col>
<c-col :span="20">
<el-form-item label="" prop="lendoc.account">
<c-input
v-model="model.lendoc.account"
maxlength="50"
placeholder="请输入"
:disabled="model.lendoc.actflg == ''"
></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: { ...Event },
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<!-- ====================左边======================= -->
<c-col :span="11">
<c-col :span="24">
<c-fullbox>
<el-form-item label="申报类型" prop="bopmod.szflg">
<c-select
v-model="model.bopmod.szflg"
style="width: 100%"
placeholder="请选择申报类型"
@change="selectOrCheckboxRule('bopmod.szflg')"
>
<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="请选择款项来源"
:code="codes.acttyp"
:disabled="model.bopmod.szflg != '1'"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="地区机构号" prop="bopmod.ownextkey">
<c-select
v-model="model.bopmod.ownextkey"
style="width: 100%"
placeholder="请选择地区机构号"
:code="codes.ownextkey3"
:disabled="model.bopmod.szflg == '3' || model.bopmod.szflg == ''"
>
</c-select>
</el-form-item>
</c-col>
<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.bopmod.basflg != 'X'"
@keyup.enter.native="
defaultFunction('bopmod.outchargeamt', model.bopmod.outchargeamt)
"
></c-input-currency>
</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 {
acttyp: [
{ label: "境外", value: "(JW)" },
{ label: "境内非居民", value: "(JN)" },
],
};
},
watch: {
"model.bopmod.szflg": function () {
if (this.model.bopmod.szflg == "3" || this.model.bopmod.szflg == "") {
this.model.bopmod.basflg = "";
}
if (this.model.bopmod.szflg != "1") {
this.model.bopmod.acttyp = "";
}
},
},
// methods: { ...Event },
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eContainer">
<c-page>
<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="myTabClick">
<!--cctset PD000002 Settle -->
<el-tab-pane label="结汇" name="setp">
<c-content>
<m-setp ref="setp" :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--报文和面函(TRNMOD\TRNDOC\DOCPAN) -->
<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>
<!--提示信息 -->
<el-tab-pane label="提示信息" name="coninfp">
<c-content>
<m-coninfp :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>
<!--结算 -->
<el-tab-pane label="结算" name="setpan">
<c-content>
<m-setpan :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--会计分录 -->
<el-tab-pane label="会计分录" name="glepan">
<c-content>
<m-glepan :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--lendoc PD000001 收账通知 -->
<el-tab-pane label="收账通知" name="docpan1">
<c-content>
<m-docpan1 :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--bopgat PD000006 外管信息 -->
<el-tab-pane label="外管信息" name="wg">
<c-content>
<m-wg :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane
v-if="model.bopmod.szflg == '1' && model.bopmod.basflg == 'X'"
label="涉外收入申请单-基础信息"
name="basp3"
>
<c-content>
<m-basp3 :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane
v-if="model.bopmod.szflg == '2' && model.bopmod.basflg == 'X'"
label="境内收入申请单-基础信息"
name="basp2"
>
<c-content>
<m-basp2 :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--cnybop PD000002 跨境人民币申报 -->
<el-tab-pane label="跨境人民币申报" name="cnyp">
<c-content>
<m-cnyp :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane
v-if="model.cnybop.cnyflg == '1'"
label="2101跨境收入信息"
name="incp"
>
<c-content>
<m-incp :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<c-grid-ety-prompt-dialog
ref="etyDialog"
:promptData="promptData"
@select-ety="selectGridEtyPromptData"
>
</c-grid-ety-prompt-dialog>
<c-function-btn
:handleSubmit="handleSubmit"
:handleCheck="handleCheck"
:handleStash="handleStash"
>
</c-function-btn>
</c-page>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Cctset from "../model";
import formRules from '../model/check'
import Setp from "./Setp";
import Wg from "./Wg";
import Cnyp from "./Cnyp";
import Docpan1 from "./Docpan1";
import Basp2 from "./Basp2";
import Basp3 from "./Basp3";
import Incp from "./Incp";
import Setmod from "~/components/business/setmod/views"
import Coninfp from "~/components/business/coninfp/views";
import Docpan from "~/components/business/docpan/views";
import Engp from "~/components/business/engp/views";
import Glentry from "~/components/business/glentry/views";
import Doctre from "~/views/Public/Doctre";
import operationFunc from "@/mixin/operationFunc";
import event from "../event";
export default {
name: "Cctset",
components: {
"m-setp": Setp,
"m-docpan1": Docpan1,
"m-wg": Wg,
"m-cnyp": Cnyp,
"m-docpan": Docpan,
"m-doctre": Doctre,
"m-coninfp": Coninfp,
"m-setpan": Setmod,
"m-glepan": Glentry,
"m-engp": Engp,
"m-basp2": Basp2,
"m-basp3": Basp3,
"m-incp": Incp,
},
provide() {
return {
root: this,
};
},
mixins: [operationFunc, event], // 里面包含了Default、Check等的公共处理
data() {
return {
tabVal: "setp",
trnName: "cctset",
trnType: "",
model: new Cctset().data,
rules: formRules,
codes: { ...CodeTable },
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: {
myTabClick(tab) {
this.tabClick(tab);
/**
* do it yourself
**/
},
},
created: async function () {
// console.log("进入cctset交易");
// let rtnmsg = await this.init({});
// if (rtnmsg.respCode == SUCCESS) {
// this.updateModel(rtnmsg.data);
// //TODO 处理数据逻辑
// if (this.isInDisplay) {
// this.restoreDisplay();
// }
// this.$refs.setp.$refs.table.$refs.table.toggleAllSelection();
// } else {
// this.$notify.error({ title: "错误", message: "服务请求失败!" });
// }
},
mounted () {
this.init()
// this.queryHndtypCodeTableList(this.trnName)
},
};
</script>
<style>
</style>
......@@ -548,6 +548,7 @@ export default {
],
data: [],
},
initdialog: false,
btnRouteMap: [
{
label: '光票托收催收',
......
......@@ -92,6 +92,7 @@ const Business = [
{ path: 'cltset', component: () => import('~/business/cltset/views'), name: 'cltset', meta: { title: '打包托收解包' }},
{ path: 'ccttra', component: () => import('~/business/ccttra/views'), name: 'ccttra', meta: { title: '光票托收催收' }},
{ path: 'cctset', component: () => import('~/business/cctset/views'), name: 'cctset', 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